Windows使用MongoDB
Windows下载安装MongoDB
下载地址:https://www.mongodb.com/download-center/community
下载后双击运行
选择自定义安装,选择安装路径
非必须,为了避免安装过慢,取消MongoDB Compass的安装选项,需要可自行安装
双击运行bin目录下的mongo.exe
下载Windows客户端工具Robo3T
下载地址:https://robomongo.org/download
解压后双击robo3t.exe
即可启动
创建一个连接
点击Save
之后点击Connect
即可
Ubuntu使用MongoDB
使用Docker安装MongoDB
#拉取镜像
docker pull mongo:latest
#创建和启动容器
docker run -d --restart=always -p 27017:27017 --name mongodb -v /data/db:/data/db -d mongo
#进入容器
docker exec -it mongodb /bin/bash
#使用MongoDB客户端进行操作
mongo
show dbs #查询所有的数据库
MongoDB相关操作
创建数据库
use DATABASE_NAME
如果数据库不存在,则创建数据库,否则切换到指定数据库。
删除数据库
db.dropDatabase()
删除当前数据库
创建集合(表)
插入文档(数据)时可以自动创建集合
db.test.insert({"testCollection":"123"})
也可以手动创建
db.createCollection("test")
删除集合
db.test.drop()
插入文档
db.COLLECTION_NAME.insert(document)
或
db.COLLECTION_NAME.save(document)
-
save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替。
-
insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。
db.test.insert({"testCollection":"123"})
3.2 版本之后新增了 db.collection.insertOne() 和 db.collection.insertMany()。
db.collection.insertOne() 用于向集合插入一个新文档,语法格式如下:
db.collection.insertOne(
<document>,
{
writeConcern: <document>
}
)
db.collection.insertMany() 用于向集合插入一个多个文档,语法格式如下:
db.collection.insertMany(
[ <document 1> , <document 2>, ... ],
{
writeConcern: <document>,
ordered: <boolean>
}
)
参数说明:
document:要写入的文档。
writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
ordered:指定是否按顺序写入,默认 true,按顺序写入。
以下文档可以存储在 MongoDB 的 test 数据库 的 test 集合中:
db.test.insert({title: 'MongoDB',
description: 'MongoDB 是一个 Nosql 数据库',
})
以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
查看已插入文档:
db.test.find()
我们也可以将数据定义为一个变量,如下所示:
document=({title: 'MongoDB2',
description: 'MongoDB 是一个 Nosql 数据库',
});
db.test.insert(document)
执行结果如下
更新文档
Update()方法
db.test.update({'title':'MongoDB'},{$set:{'title':'MongoDB2'}})
这种写法只能修改第一条匹配的数据,若要修改多条符合条件的数据,应添加参数multi
为true
db.test.update({'title':'MongoDB'},{$set:{'title':'MongoDB3'}},{multi:true})
Save()方法
主键存在就更新,不存在就插入
db.test.save({'title':'Save'})
db.test.save({
'_id':ObjectId('62d75b7339529166098af088'),
'title':'Save2'
})
删除文档
db.test.remove({'title':'Save2'})
这样会删除所有符合条件的数据,若想要只删除第一条符合条件的数据,可以添加justOne
参数为1
db.test.remove({'title':'MongoDB3'},1)
删除所有数据
db.test.remove({})
查询文档
查询条件
操作 | 格式 | 范例 |
---|---|---|
等于 | {<key>:<value> } |
db.test.find({"title":"MongoDB3"}).pretty() |
小于 | {<key>:{$lt:<value>}} |
db.test.find({"likes":{$lt:50}}).pretty() |
小于或等于 | {<key>:{$lte:<value>}} |
db.test.find({"likes":{$lte:50}}).pretty() |
大于 | {<key>:{$gt:<value>}} |
db.test.find({"likes":{$gt:50}}).pretty() |
大于或等于 | {<key>:{$gte:<value>}} |
db.test.find({"likes":{$gte:50}}).pretty() |
不等于 | {<key>:{$ne:<value>}} |
db.test.find({"likes":{$ne:50}}).pretty() |
AND 与 OR
db.test.find({"title": "MongoDB3", $or: [{"title": "Save"},{"description": "MongoDB 是一个 Nosql 数据库"}]}).pretty()
原文始发于微信公众号(布沃布图):MongoDB 学习笔记
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/24989.html