亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

淺談mongodb中query查詢

2020-03-14 13:21:49
字體:
來源:轉載
供稿:網友

在MongoDB數據中,查詢有多種方法。比如find和or查詢等等。每種查詢方法也有不同的查詢條件供大家參考。

Mongodb最大的功能之一就是它支持動態查詢,就跟傳統的關系型數據庫查詢一樣,但是它的查詢來的更靈活。

一、 Query Expression Objects:查詢表達式對象

查詢表達式文檔也是一個BSON結構的文檔,例如,我們可以用下面的查詢語句來查詢集合中的所有記錄:

db.users.find({})

這里,表達式對象是一個空文檔,在查詢的時候去去匹配所有的記錄。再看:

復制代碼代碼如下:

db.users.find({'last_name': 'Smith'})

這里,我們將會查詢出所有“last_name”屬性值為“Smith”的文檔記錄。

二、查詢選項

除了查詢表達式意外,Mongodb還支持一些額外的參數選項。例如,我們可能僅僅只想返回某些特定的字段值:

復制代碼代碼如下:

//返回除了age字段外的所有字段

> db.user.find({},{age:0});

//返回tags=tennis 除了comments的所有列

db.posts.find( { tags : 'tennis' }, { comments : 0 } );

//返回userid=16的name字段

> db.user.find({userid:16},{name:1});

{ "_id" : 16, "name" : "user16" }

//返回x=john的所有z字段

db.things.find( { x : "john" }, { z : 1 } );

注: _id字段始終都會被返回,哪怕沒有明確指定

三、查詢條件

1) <, <=, >, >=

 

 
  1. // 大于: field > value  
  2. db.collection.find({ "field" : { $gt: value } } );  
  3.  
  4. //小于:field < value  
  5. db.collection.find({ "field" : { $lt: value } } ); 
  6.  
  7. //大于等于: field >= value  
  8. db.collection.find({ "field" : { $gte: value } } );  
  9.  
  10. //小于等于:field<=value  
  11. db.collection.find({ "field" : { $lte: value } } );  

2) $all

$all操作類似$in操作,但是不同的是,$all操作要求數組里面的值全部被包含在返回的記錄里面,如:

 

 
  1. > use test;  
  2. switched to db test 
  3.  
  4. > db.things.insert({a:[1,2,3]});  
  5.  
  6. > db.things.find();  
  7. "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] }  
  8.  
  9. > db.things.find({a:{$all:[2,3]}});  
  10. "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] }  
  11.  
  12. > db.things.find({a:{$all:[1,2,3]}});  
  13. "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] }  
  14.  
  15. > db.things.find({a:{$all:[1]}});  
  16. "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] }  
  17.  
  18. > db.things.find({a:{$all:[1,2,3,4]}}); 

3) $exists

$exists操作檢查一個字段是否存在,如:

 

 
  1. for(var i=0;i<1000;i++) db.user.save({_id:i,name:'user'+i,userid:i,age:20});  
  2.  
  3. //包含userid  
  4. > db.user.find({userid:{$exists:true}}).limit(5);  
  5. "_id" : 0, "name" : "user0""userid" : 0, "age" : 20 }  
  6. "_id" : 1, "name" : "user1""userid" : 1, "age" : 20 }  
  7. "_id" : 2, "name" : "user2""userid" : 2, "age" : 20 }  
  8. "_id" : 3, "name" : "user3""userid" : 3, "age" : 20 }  
  9. "_id" : 4, "name" : "user4""userid" : 4, "age" : 20 }  
  10.  
  11. //不包含sex字段  
  12. > db.user.find({sex:{$exists:false}}).limit(5); 

4) $mod

$mod操作可以讓我們簡單的進行取模操作,而不需要用到where子句,如:

 

 
  1. //where子句  
  2. > db.user.find("this._id%10==1").limit(5);  
  3. "_id" : 1, "name" : "user1""userid" : 1, "age" : 20 }  
  4. "_id" : 11, "name" : "user11""userid" : 11, "age" : 20 }  
  5. "_id" : 21, "name" : "user21""userid" : 21, "age" : 20 }  
  6. "_id" : 31, "name" : "user31""userid" : 31, "age" : 20 }  
  7. "_id" : 41, "name" : "user41""userid" : 41, "age" : 20 }  
  8.  
  9. //$mod操作  
  10. > db.user.find({_id:{$mod:[10,1]}}).limit(5);  
  11. "_id" : 1, "name" : "user1""userid" : 1, "age" : 20 }  
  12. "_id" : 11, "name" : "user11""userid" : 11, "age" : 20 }  
  13. "_id" : 21, "name" : "user21""userid" : 21, "age" : 20 }  
  14. "_id" : 31, "name" : "user31""userid" : 31, "age" : 20 }  
  15. "_id" : 41, "name" : "user41""userid" : 41, "age" : 20 }  

5) $ne

$ne意思是not equal,不等于,不用多說,看例子:

 

 
  1. > db.user.find().limit(5);  
  2. "_id" : 0, "name" : "user0""userid" : 0, "age" : 20 }  
  3. "_id" : 1, "name" : "user1""userid" : 1, "age" : 20 }  
  4. "_id" : 2, "name" : "user2""userid" : 2, "age" : 20 }  
  5. "_id" : 3, "name" : "user3""userid" : 3, "age" : 20 }  
  6. "_id" : 4, "name" : "user4""userid" : 4, "age" : 20 }  
  7.  
  8. > db.user.find({_id:{$ne:0}}).limit(5);  
  9. "_id" : 1, "name" : "user1""userid" : 1, "age" : 20 }  
  10. "_id" : 2, "name" : "user2""userid" : 2, "age" : 20 }  
  11. "_id" : 3, "name" : "user3""userid" : 3, "age" : 20 }  
  12. "_id" : 4, "name" : "user4""userid" : 4, "age" : 20 }  
  13. "_id" : 5, "name" : "user5""userid" : 5, "age" : 20 } 

6) $in

$in操作類似于傳統關系數據庫中的IN,看例子:

 

 
  1. //數據庫中有所有數組對應的記錄  
  2. > db.user.find({_id:{$in:[2,3,4,5,6]}}).limit(5);  
  3. "_id" : 2, "name" : "user2""userid" : 2, "age" : 20 }  
  4. "_id" : 3, "name" : "user3""userid" : 3, "age" : 20 }  
  5. "_id" : 4, "name" : "user4""userid" : 4, "age" : 20 }  
  6. "_id" : 5, "name" : "user5""userid" : 5, "age" : 20 }  
  7. "_id" : 6, "name" : "user6""userid" : 6, "age" : 20 }  
  8.  
  9. //因為數據庫中沒有_id=1111的記錄  
  10. > db.user.find({_id:{$in:[2,3,4,5,1111]}}).limit(5);  
  11. "_id" : 2, "name" : "user2""userid" : 2, "age" : 20 }  
  12. "_id" : 3, "name" : "user3""userid" : 3, "age" : 20 }  
  13. "_id" : 4, "name" : "user4""userid" : 4, "age" : 20 }  
  14. "_id" : 5, "name" : "user5""userid" : 5, "age" : 20 } 

7) $nin

$nin跟$in操作相反,看例子:

 

 
  1. //扣掉_id=1/2/3/4的記錄  
  2. > db.user.find({_id:{$nin:[1,2,3,4]}}).limit(5);  
  3. "_id" : 0, "name" : "user0""userid" : 0, "age" : 20 }  
  4. "_id" : 5, "name" : "user5""userid" : 5, "age" : 20 }  
  5. "_id" : 6, "name" : "user6""userid" : 6, "age" : 20 }  
  6. "_id" : 7, "name" : "user7""userid" : 7, "age" : 20 }  
  7. "_id" : 8, "name" : "user8""userid" : 8, "age" : 20 }  

8) $nor、$or

$nor跟$or相反,不好解釋,看例子:

 

 
  1. > db.user.find({$nor:[{_id:2},{name:'user3'},{userid:4}]}).limit(5);  
  2. "_id" : 0, "name" : "user0""userid" : 0, "age" : 20 }  
  3. "_id" : 1, "name" : "user1""userid" : 1, "age" : 20 }  
  4. "_id" : 5, "name" : "user5""userid" : 5, "age" : 20 }  
  5. "_id" : 6, "name" : "user6""userid" : 6, "age" : 20 }  
  6. "_id" : 7, "name" : "user7""userid" : 7, "age" : 20 } 
  7.  
  8. > db.user.find({$or:[{_id:2},{name:'user3'},{userid:4}]}).limit(5);  
  9. "_id" : 2, "name" : "user2""userid" : 2, "age" : 20 }  
  10. "_id" : 3, "name" : "user3""userid" : 3, "age" : 20 }  
  11. "_id" : 4, "name" : "user4""userid" : 4, "age" : 20 }  

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品电影网| 亚洲欧美中文在线视频| 久久久久久18| 国产精品久久久久久久美男| 国产一区香蕉久久| 国产亚洲精品久久久久久777| 亚洲第一视频网| 欧美日韩中文在线观看| 欧美放荡办公室videos4k| 欧美亚洲国产日韩2020| 一区二区三区四区在线观看视频| 亚洲精品日韩丝袜精品| 亚洲人成啪啪网站| 日韩欧美成人区| 成人午夜小视频| 久久在线观看视频| 亚洲爱爱爱爱爱| 日韩极品精品视频免费观看| 欧美日韩亚洲视频| 一本一本久久a久久精品综合小说| 国产精品美女呻吟| 亚洲欧洲在线观看| 5278欧美一区二区三区| 日韩成人在线电影网| 国产一区二区在线免费| 日韩欧美国产中文字幕| 亚洲国产精品久久精品怡红院| 亚洲美女在线观看| 精品毛片三在线观看| 亚洲国产精品va在线观看黑人| 国产一区二区在线免费| 国产亚洲一区二区在线| 国产精品黄视频| 久久综合色88| 国产精品丝袜久久久久久高清| 国产日韩欧美电影在线观看| xxx成人少妇69| 97热精品视频官网| 亚洲最大福利网| 欧美一级在线亚洲天堂| 久久久久久91香蕉国产| 久久综合免费视频影院| 日韩欧美国产高清91| 欧美韩国理论所午夜片917电影| 久久免费视频在线观看| 日韩在线高清视频| 亚洲第一福利视频| 欧美老女人www| 亚洲自拍另类欧美丝袜| 国产精品黄页免费高清在线观看| 九九精品视频在线观看| 国产在线视频欧美| 欧美视频在线观看免费| 国产精品视频一区二区高潮| 亚洲精品av在线播放| 国产精品久久久久久久一区探花| 国产精品福利无圣光在线一区| www.久久撸.com| 全亚洲最色的网站在线观看| 亚洲影院污污.| 伊人伊成久久人综合网站| 亚洲激情成人网| 久久久久久久国产精品| 97超级碰在线看视频免费在线看| 国产精品丝袜久久久久久不卡| 欧美久久精品一级黑人c片| 久久精品99久久久香蕉| 亚洲欧美日本伦理| 亚洲精品网站在线播放gif| 亚洲女在线观看| 欧美xxxx14xxxxx性爽| 国产成人精品在线播放| 国产精品日韩欧美综合| 668精品在线视频| 欧美日本国产在线| 欧美成人激情视频免费观看| 欧美视频精品一区| 精品福利视频导航| 日本老师69xxx| 57pao成人永久免费视频| 亚洲a在线播放| 91香蕉嫩草神马影院在线观看| 国产亚洲精品美女| 欧美大片在线免费观看| 欧美成人三级视频网站| 国产精品99久久久久久白浆小说| 亚洲激情在线观看| 在线精品视频视频中文字幕| 91视频88av| 欧美交受高潮1| 亚洲综合社区网| 国产日韩在线亚洲字幕中文| 亚洲精品白浆高清久久久久久| 亚洲国产欧美久久| 精品一区二区亚洲| 亚洲美女视频网站| 久久夜色精品国产| 久久亚洲国产精品成人av秋霞| 欧美大片网站在线观看| 久久久亚洲福利精品午夜| 色综合久久悠悠| 中文字幕欧美日韩va免费视频| 久久亚洲成人精品| 秋霞午夜一区二区| 国产99视频在线观看| 国产精品久久久久久久美男| 91成人精品网站| 欧美激情在线视频二区| 久久综合电影一区| 91视频九色网站| 精品国内亚洲在观看18黄| 日韩中文字幕在线观看| 亚洲小视频在线| 在线午夜精品自拍| 岛国av午夜精品| 午夜精品久久久久久久99热| 日韩在线精品一区| 久久黄色av网站| 欧美高清视频免费观看| 日韩欧美在线字幕| 亚洲jizzjizz日本少妇| 97人洗澡人人免费公开视频碰碰碰| 欧美大片在线影院| 成人在线视频网| 北条麻妃99精品青青久久| 在线观看91久久久久久| 亚洲精品久久久久久久久| 97av在线视频免费播放| 亚洲欧美中文字幕| 日日骚av一区| 精品欧美激情精品一区| 在线精品91av| 国产精品 欧美在线| 日韩视频永久免费观看| 青青草成人在线| 精品国产一区二区三区久久久狼| 国产精品一区二区久久国产| 亚洲a级在线播放观看| 亚洲精品日韩激情在线电影| 97人洗澡人人免费公开视频碰碰碰| 欧美黄色片在线观看| 日韩欧美高清视频| 深夜福利日韩在线看| 亚洲最大成人在线| 亚洲精品久久久一区二区三区| 国产成人精品久久亚洲高清不卡| 精品亚洲一区二区三区四区五区| 高清在线视频日韩欧美| 成人做爰www免费看视频网站| 97国产精品视频| 成人在线激情视频| 国产精品国产三级国产aⅴ浪潮| 国产精品久久久久77777| 日韩精品亚洲精品| 日本高清视频精品| 欧洲成人午夜免费大片| 日韩精品福利在线| 亚洲国产精品福利| 久久综合久中文字幕青草| 欧美成人h版在线观看| 国产精品影片在线观看| 国产精品69精品一区二区三区| 最新69国产成人精品视频免费| 欧美性受xxxx白人性爽|