MongoDb的CURD基本命令
MongoDb 创建 删除collection
例1. db.createCollection('test'); 创建collection名字为test
例2. collection允许隐式创建 语法:db.collectionName.insert(document); db.test.insert({_id:8,age:78,name:'lisi'});
例3. db.collectionName.drop() , 删除collection名字为test的 db.test.drop();
MongoDb 之增删改查 insert
介绍: mongodb存储的是文档,. 文档是json格式的对象.
语法: db.collectionName.insert(document);
例1:插入单条记录,不指定主键 db.test.insert({name:'lisi',age:28});
例2: 插入单条记录,指定主键 db.test.insert({_id:3,name:'lisi',age:28});
例3: 插入多条记录 db.test.insert([ {_id:4,name:'wangwu',age:60} ]);
MongoDb 之增删改查 remove
语法: db.collection.remove(query, justOne)
query:查询表达式[重点] justOne: boolean, true/false, 是否只删1条
例1: db.test.remove({name:'lisi'}); 删除test表中 name属性值为'lisi'的文档
例2: db.test.remove({name:'lisi',true}); 删除test表中name属性为lisi的文档,只删除1行.
MongoDb 之增删改查 update
语法: db.collection.update(query, update[, options])
query:查询表达式
update: 新document options: {upsert:true/false,multi:ture/false}
upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)
multi, 默认为false, 作用:是否作用于多条
例1:db.test.update({name:'wangwu'},{$set:{name:'wanger'}},{upsert:true});
如果有name='wangwu'的文档,将被修改 如果没有,将添加此新文档
例2: db.test.update({_id:100},{x:123,y:234},{upsert:true});
没有_id=100的文档被修改,因此直接插入该文档
例3: db.test.update({age:21},{$set:{age:22}},{multi:true});
则把test中所有age=21的文档,都修改
MongoDb 之增删改查 find
查: find, findOne
语法: db.collection.find(查询表达式,查询的列);
db.collections.find(表达式,{列1:1,列2:1});
例1:db.test.find() 查询所有文档 所有内容
例2: db.test.find({},{name:1}) 查询所有文档的name属性 (_id属性默认总是查出来)
例3: db.test.find({},{name:1, _id:0}) 查询所有文档的name属性,且不查询_id属性
例4: db.test.find({gender:'male'},{name:1,_id:0}); 查询所有gender属性值为male的文档中的name属性