Mongodb 常用命令总结
1. 操作Database
命令 | 含义 | 备注 |
---|---|---|
use databaseName | 创建/使用数据库 | 插入数据后才是真正创建 |
db.dropDatabase() | 删除database | 先use要删除的数据库,再执行 |
show dbs | 查看database | 默认有admim,local,config |
2. 操作Collection
命令 | 含义 | 备注 |
---|---|---|
db.createCollection(collectionName) | 创建集合 | - |
db.collectionName.drop() | 删除集合 | - |
show collections | 查看集合 | - |
db.collectionName.renameCollection(newName) | 重命名 | - |
db.getCollection(collectionName) | 获取集合对象 | 等价于db.collection |
3. 操作集合数据
命令 | 含义 | 备注 |
---|---|---|
db.collectionName.insert({data}) | 插入数据 | 插入数据和集合真正创建,数据类型默认是字符串 |
db.collectionName.insert([{data1},{data2}]) | 插入多条数据 | - |
db.collectionName.save() | 插入文档 | _id相同时会覆盖原有文档 |
db.collectionNAme.remove(query,justOne) | 删除数据 | justOne为true时只匹配一条 |
db.collectionName.find(query,field) | 查询数据 | field限制展示/不展示的域,除_id外只能同时限制多个域的0/1值 |
db.collectionName.findOne(query,field) | 查询一条数据 | 同find |
db.collection.update(query,update,upsert,multi) | 更新操作 | upset为true时文档不存在会直接插入,multi为true时筛选多条,默认都为false |
4.操作符
类型 | 符号 | 举例 |
---|---|---|
比较操作符 | $eq,$gt,$lt,$lte,$gte,$ne(不等于) | db.class.find( {age: {$eq : 18} },{_id :0} ) |
范围操作符 | $in:[ ],$nin:[ ] | db.class.find( {age: {$in : [18, 23]} },{_id :0} ) |
逻辑操作符 | $and:[ ],$or:[ ],$not:[ ],$nor:[ ](全否) | db.class.find({$nor : [{ age: 17} ,{sex: ‘M’ } ] },{_id :0} ) |
修改操作符 | $set | db.class.update({name:‘mike’},{$set:{age:16,sex:‘m’}},true) |