Mongo的增删改查摘录

建立mongo连接的必要前提:host、port、username、password、authdbname、collection

查用命令行操作

showdbs:显示数据库列表

showcollections:显示当前数据库中的集合(类似关系数据库中的表)

showusers:显示用户

db.createCollection(name) : 创建collection

db.collection.insert({key1:val1,key2:val2,key3:val3,...})

3.2版本之后:

db.collection.insertOne([{},{},...])

db.collection.insertMany([{},{},...])

删库:db.dropDatabase()

删collection:db.collection.drop()

删记录:

db.collection.remove({key1:val1}) :  remove() 方法 并不会真正释放空间,需要继续执行 db.repairDatabase() 来回收磁盘空间db.collection.deleteOne({key1:val1})db.collection.deleteMany({key1:val1})  (不带查询条件:类似truncate table的操作)

更新满足条件key1:val1的记录,通过{key1:val2}进行替换, upsert标志位默认false,表示如果记录不存在则插入; multi标志:默认为false,表示一次操作满足条件的多行

更新指定一条记录:db.collection.update({key1:val1},{$set:{key1:val2}})

更新指定一条记录:db.collection.update({key1:val1},{$set:{key1:val2}},false,true)

如果不存在则插入,存在则更新一条记录: db.collection.update({key1:val1},{$set:{key1:val2}},true,false)

如果不存在则插入,存在则更新多条记录: db.collection.update({key1:val1},{$set:{key1:val2}},true,true)

查询所有document

db.collectionXXX.find().pretty()

查询符合指定条件的所有document:

db.collectionXXX.find({key1:val1,key2:val2}).pretty() 

查询符合指定条件and的所有document:

db.collectionXXX.find({key1:val1},{key2:val2},{key3:val3}).pretty() 

查询符合指定条件or的所有document

db.collectionXXX.find({$or:[{key1:val1},{key2:val2},{key3:val3}]}).pretty()

查询符合指定条件包含and及or的所有document

db.collectionXXX.find({{key1:val1},$or:[{key2:val2},{key3:val3}]}).pretty()  key1=val1and(key2=val2orkey3=val3)

模糊查询

查询title包含"教"字的文档:db.col.find({title:/教/})

查询title字段以"教"字开头的文档:db.col.find({title:/^教/})

查询title字段以"教"字结尾的文档:db.col.find({title:/教$/})

查询

db.collectionXXX.find()..pretty()  具体哪个collectionXXX需要修改

其他操作

skip(n), limilt(n), sort({key:1})三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()  , 针对sort: 1 表示升序   -1 表示降序

索引

index:db.collection.createIndex({})

你可能感兴趣的:(Mongo的增删改查摘录)