覆盖在学习和工作中的常用 MongoDB 命令:Database / Collection / Document / Index
目录 Table of Contents
Database
查询数据库
切换/创建数据库
删除数据库
Collection
查询集合
创建集合
1
| db.createCollection(<collection_name>, <options>)
|
删除集合
1
| db.<collection_name>.drop()
|
Document
条件查询
1 2 3 4 5 6 7 8 9 10 11 12 13
| db.<collection_name>.find(<condition>, <projection>).pretty()
// 等于:{<key>: <value>} // 不等于:{<key>: {$ne: <value>}} // 小于:{<key>: {$lt: <value>}} // 小于或等于:{<key>: {$lte: <value>}} // 大于:{<key>: {$gt: <value>}} // 大于或等于:{<key>: {$gte: <value>}}
// 与:{<key1>: <value1>, <key2>: <value2>} // 或:{$or: [{<key1>: <value1>}, {<key2>: <value2>}]}
// 类型:{$type: <type_id>} 或 {$type: <type_name>}
|
分页查询
1
| db.<collection_name>.find().limit(<limit>).skip(<skip>)
|
排序
1 2 3 4
| db.<collection_name>.find().sort({KEY:<order>}) // KEY: 1为升序排序 // KEY: -1为降序排序
|
计数
1
| db.<collection_name>.aggregate([{$group : {_id : "$<field>", num_tutorial : {$sum : 1}}}])
|
插入记录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| db.<collection_name>.insert(<document>) // 不允许主键_id重复 db.<collection_name>.save(<document>) // 可允许主键_id重复
db.<collection_name>.insertOne( <document>, { writeConcern: <document> // 写入策略 } ) db.<collection_name>.insertMany( [<document1>, <document2>], { writeConcern: <document>, // 写入策略 ordered: <boolean> // 是否顺序写入文档 } )
|
更新记录
1 2 3 4 5 6 7 8 9
| db.<collection_name>.update( <condition>, <document>, { writeConcern: <document>, // 写入策略 upsert: <boolean>, // 是否不存在就插入 multi: <boolean>, // 是否更新多条文档 } )
|
删除记录
1 2 3 4 5 6 7
| db.<collection_name>.remove( <condition>, { writeConcern: <document>, // 写入策略 justOne: <boolean> // 是否删除多条文档 } )
|
Index
查询索引
1
| db.<collection_name>.getIndexes()
|
创建索引
1 2 3 4
| db.<collection_name>.createIndex(<keys>, <options>)
// key: 1为升序索引 // key: -1为降序索引
|
删除索引
1 2
| db.<collection_name>.dropIndexes() db.<collection_name>.dropIndex(<key>)
|