[MongoDB]学习笔记--基本操作
读取
db.collection.find()
db.users.find( { age: {$gt: 18}}, {name: 1, address: 1} ).limit(5).sort({age:1})
users是collection名字,从users中查找;
age是query criteria,筛选结果,代表查找name字段的值比18大的;
name是projection,筛选列(1代表存在, 0代表不存在),代表返回结果中包含name,address,_id(默认包含字段)字段的值;
limit是cursor modifier,代表返回最多5条;
sort是排序,通过age的值进行排序。
注:
1. 所有的查询只能针对一个单独的collection;
2. 除非使用sort,否则查询结果没有排序;
db.collection.findOne() 是返回一个值.
db.collection.find()返回cursor类型。
插入
db.collection.insert()
db.users.insert( { name:"sue", age:22, status:"A" } )
注:
1. 如果insert语句中没有_id属性,mongod会自动加一个_id属性,并产生一个唯一的值,ObjectId.
2. 如果insert语句中带有_id属性,必须保证它的值是唯一的,如果重复,会返回异常.
3. update()和save()操作也可以实现插入功能.
更新
db.collection.update() or db.collection.save()
db.users.update( {age:{$gt:18}}, --update criteria {$set:{status: "A"}}, --update action {multi:true} --update option )
注:
1. 默认情况下,update方法只更新一个document,但是如果设置multi参数为true,可以更新所有符合的documents
2. save方法只能更新一个单一document
删除
db.collection.remove()
db.users.remove( {status:"D"} --remove criteria )
注:
1. 默认情况下,remove方法删除掉符合条件的所有documents