指令简单汇总
前言
本教程适合有一定数据库开发经验的人员阅读。对于刚开始接触数据库的童鞋,建议直接跳到本文的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
1 | db.collection.update( |
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()向指定集合更新多个文档
例子:
1 | db.COLLECTION_NAME.update( |
save
1 | db.collection.save( |
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" } )