增: db.表名.insert({name:'lisi',age:24}); //插入单条 db.表名.insert([{name:'lili',age:20},{name:'xiao',age:21},{name:'wang',age:18}]); //插入多条 删: db.表名.remove({name:'lisi'}); //删除所有 name 为 lisi 的数据 db.表名.remove({name:'lisi'},true); //删除 name 为 lisi 的数据(只删除一条,默认 false) db.表名.remove(); //删除全部 改: db.表名.update({name:'w'},{name:'x'}); //name 为 w 的改为 x,但是 如果这条数据还有 age等属性,也会消失(新文档直接替换旧文档,而不是修改)。 db.表名.update({name:'w'},{$set:{name:'x'}}); //修改单个字段 db.表名.update({name:'w'},{ $unset:{jingu:1}, //删除 jingu 属性(删除 jingu 列) $rename:{sex:'gender'}, //重命名 sex 列 $inc:{age:16} //age 列增加 16 }); ////上述所有操作即使匹配多行,也只默认修改一行。 db.表名.update({name:'w'},{$set:{name:'x'}},{multi:true}); //修改单个字段(一次修改多行) db.表名.update({name:'w'},{$set:{name:'x'}},{upsert:true}); //修改单个字段(没有此条数据,则插入) db.表名.update({name:'w'},{$set:{name:'x'},$setOnInsert:{gender:'man'}},{multi:true}); //修改单个字段(没有此条数据,则插入。插入时加上 gender 属性一起插入。)此操作只能在 2.4 版本以上使用。 查: db.表名.find(); //查询所有(数据量大的时候,只显示前 20 条,按 it 翻页) db.表名.find({name:'w'}); //查询 name 等于 w的 db.表名.find({},{name:1}); //查询所有行数据中的 name 列(_id 属性默认查出来) db.表名.find({},{name:1,_id:0}); //查询所有行数据中的 name 列(_id 属性不被查询) db.表名.find({age:18},{name:1,_id:0}); //查询出所有 age 为 18 的 name 属性 db.表名.find().count(); //显示此表的数据总条数 db.表名.insert({name:'nokia',spc:{wight:120,area:'taiwan'}}); //根据子文档 area 怎么查? db.表名.find({spc.area:'台湾'}); //子文档查询根据属性下面的产地查询 db.表名.findOne({name:'mongo'}); //根据条件查询出一条 db.表名.find().limit(3) //查询出 3 条