標籤:
MongoDB中文文檔:http://docs.mongoing.com/manual-zh/contents.html
這裡以集合名稱為test為例,資料庫通過for迴圈插入一些測試資料,鍵分別為:name,age,date
db.test.find() 查詢所有的資料
db.test.findOne() 查詢一條資料,返回的是插入的第一條資料,這個後面不能再跟其他查詢條件了,比如:db.test.findOne().sort({age:1}) ,會報:has no method ‘sort‘
db.test.find({age:18}) 查詢年齡為18的資料
db.test.find({age:18})[0] 查詢年齡為18的,結果文檔中的索引為0的資料,MongoDB的查詢返回的都是document文檔(彙總函式除外...),所以可以這樣取
db.test.find().skip(1).limit(10).srot({age:1}) 以age為正序排序(1為正序,-1為倒序),且取結果集的跳過第一條資料的(skip(1))的前十條資料
db.test.find({},{name:1,age:1,date:-1}) 查詢所有的資料,結果集中的列只包含name、age,不包含:date。第一個中括弧是查詢的條件,給空表示查詢所有 非_id欄位:1為顯示,-1為隱藏;_id欄位:不指定為顯示,指定0為隱藏
db.test.find({age:{$gt:18}}) 查詢年齡大於18的所有資訊,$gt為大於,$lt為小於
db.test.find({age:{$in:[17,18,19]}}) 查詢age=17、18、19的資料,同sql的in
插入兩條資料,用於繼續,多個sex鍵:
db.test.insert({name:"testss",age:20,sex:1})
db.test.insert({name:"tdfdaf",age:20,sex:0})
db.test.find({age:{$lt:21},sex:1}) 查詢年齡小於21,並且性別為1的資料,也就是sql的and 查詢
db.test.find({$or:[{age:20},{sex:1}]}) 查詢年齡為20,或者性別為1的資料,也就是sql的or查詢
db.test.find({age:{$lt:22},$or:[{age:20},{sex:1}]}) and 和 or 一起使用,多分析分析者三條語句,書寫的格式也好記
MongoDB中的查詢