前言
本教程适合有一定数据库开发经验的人员阅读。对于刚开始接触数据库的童鞋,建议直接跳到本文的References中去选择更适合的教程。还有一点需要注意的是,mongodb的版本2和版本3之间存在很大差异,查看教程的时候一定要注意~
一般指令
use DATABASE_NAME
:切换到数据库,如果该数据库不存在,则自动创建show dbs
:查看所有的数据库show tables
:查看所有的集合db.dropDatabase()
:进入数据库后删除数据库db.COLLECTION_NAME.drop()
:删除集合db.COLLECTION_NAME.find()
:查看集合中的所有内容或是特定内容
插入文档
db.COLLECTION_NAME.insertOne()
:向指定集合中插入一条文档数据db.COLLECTION_NAME.insertMany()
:向指定集合中插入多条文档数据
还有很多等价的插入操作
db.collection.update()
: upsert:truedb.collection.updateOne()
: upsert:truedb.collection.updateMany()
: upsert:truedb.collection.findAndModify()
: upsert:truedb.collection.findOneAndUpdate()
: upsert:truedb.collection.findOneAndReplace()
: upsert:truedb.collection.save()
.db.collection.bulkWrite()
.
更新文档
update
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
db.collection.updateOne()
向指定集合更新单个文档db.collection.updateMany()
向指定集合更新多个文档
例子:
db.COLLECTION_NAME.update(
{'title':'MongoDB 教程'},
{$set:{'title':'MongoDB'}},
{multi:true}
)
save
db.collection.save(
<document>,
{
writeConcern: <document>
}
)
document : 文档数据。
writeConcern :可选,抛出异常的级别。
replace
db.collection.replaceOne()
删除文档
db.COLLECTION_NAME.deleteMany()
:删除单个文档db.COLLECTION_NAME.deleteOne()
:删除多个文档
查询文档
db.COLLECTION_NAME.find({<field1>: <value1>, <field1>: { <operator1>: <value1> }})
:field指名称,operator指操作符db.collection.findOne()
example
db.inventory.find( { status: "D" } )
等价于SELECT * FROM inventory WHERE status = "D"
db.inventory.find( { status: { $in: [ "A", "D" ] } } )
等价于SELECT * FROM inventory WHERE status in ("A", "D")
db.inventory.find( { status: "A", qty: { $lt: 30 } } )
等价于SELECT * FROM inventory WHERE status = "A" AND qty < 30
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )
等价于SELECT * FROM inventory WHERE status = "A" OR qty < 30
更多和操作符相关的查看该文档
查询内嵌的对象,使用标识符.
db.inventory.find( { "size.uom": "in" } )
References
菜鸟教程MongoDB入门
runnob MongoDB入门
MongoDB中文手册
官方教程
想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。