基本操作增删改查 增: insert 介绍: mongodb存储的是文档,. 文档是json格式的对象.

语法: db.collectionName.isnert(document);

1: 增加单篇文档 Db.collectionName.insert({title:’nice day’});

2: 增加单个文档,并指定_id Db.collectionName.insert({_id:8,age:78,name:’lisi’});

3.增加多个文档 db.collectionName.insert( [ {time:'friday',study:'mongodb'}, {_id:9,gender:'male',name:'QQ'} ] )

删:remove 语法: db.collection.remove(查询表达式, 选项); 选项是指 {justOne:true/false},是否只删一行, 默认为false

注意 1: 查询表达式依然是个json对象 2: 查询表达式匹配的行,将被删掉. 3: 如果不写查询表达式,collections中的所有文档将被删掉.

例1: db.stu.remove({sn:’001’}); 删除stu表中 sn属性值为’001’的文档

例2: db.stu.remove({gender:’m’,true}); 删除stu表中gender属性为m的文档,只删除1行.

改 update操作 改谁? --- 查询表达式 改成什么样? -- 新值 或 赋值表达式 操作选项 ----- 可选参数

语法: db.collection.update(查询表达式,新值,选项); 例: db.news.update({name:'QQ'},{name:'MSN'}); 是指选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’}, 结果: 文档中的其他列也不见了,改后只有_id和name列了. 即--新文档直接替换了旧文档,而不是修改

如果是想修改文档的某列,可以用**$set**关键字 db.collectionName.update(query,{$set:{name:’QQ’}}) 例子: 如果不想要country字段了,使用$unset操作符删除即可:

修改时的赋值表达式 $set 修改某列的值 $unset 删除某个列 $rename 重命名某个列 $inc 增长某个列 $setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段. 例子:

Option的作用: {upsert:true/false,multi:true/false} Upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)

例:db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true}); 如果有name=’wuyong’的文档,将被修改 如果没有,将添加此新文档

例: db.news.update({_id:99},{x:123,y:234},{upsert:true}); 没有_id=99的文档被修改,因此直接插入该文档

multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项) 例: db.news.update({age:21},{$set:{age:22}},{multi:true}); 则把news中所有age=21的文档,都修改 例子:

查: find, findOne 语法: db.collection.find(查询表达式,查询的列); Db.collections.find(表达式,{列1:1,列2:1});

例1:db.stu.find() 查询所有文档 所有内容

例2: db.stu.find({},{gendre:1}) 查询所有文档,的gender属性 (_id属性默认总是查出来) 例子:

例3: db.stu.find({},{gender:1, _id:0}) 查询所有文档的gender属性,且不查询_id属性 例子:

例3: db.stu.find({gender:’male’},{name:1,_id:0}); 查询所有gender属性值为male的文档中的name属性 例子:

Update时可用的操作符 例: ->db.user.insert({name:'lisi',age:12,sex:'male',height:123,area:'haidian'}); ->db.user.update({name:'lisi'},{$set:{area:'chaoyang'},$unset:{height:1},$inc:{age:1},$rename:{sex:'gender'}});

db.user.find(); { "_id" : ObjectId("51fc01c4f5de93e1f2856e33"), "age" : 13, "area" : "chaoyang", "gender" : "male", "name" : "lisi" }

$setOnInsert ->相当于mysql中的列的默认值