讀取
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