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

首頁 > 數據庫 > MongoDB > 正文

淺談mongodb中query查詢

2020-10-29 18:51:01
字體:
來源:轉載
供稿:網友

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)  <, <=, >, >=

// 大于: field > value db.collection.find({ "field" : { $gt: value } } );   //小于:field < value db.collection.find({ "field" : { $lt: value } } );  //大于等于: field >= value db.collection.find({ "field" : { $gte: value } } );  //小于等于:field<=value db.collection.find({ "field" : { $lte: value } } );  

2)  $all

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

> use test; switched to db test > db.things.insert({a:[1,2,3]}); > db.things.find();             { "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } > db.things.find({a:{$all:[2,3]}}); { "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } > db.things.find({a:{$all:[1,2,3]}}); { "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } > db.things.find({a:{$all:[1]}});    { "_id" : ObjectId("4de73360059e7f4bdf907cfe"), "a" : [ 1, 2, 3 ] } > db.things.find({a:{$all:[1,2,3,4]}});

3)  $exists

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

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

4)  $mod

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

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

5)  $ne

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

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

6)  $in

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

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

7)  $nin

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

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

8)  $nor、$or

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国语精品自产拍在线观看| 亚洲男人天堂2019| 亚洲深夜福利视频| 岛国av一区二区| 国产亚洲精品美女久久久久| 欧美wwwxxxx| 欧美午夜片在线免费观看| 成人国产在线视频| 国产suv精品一区二区三区88区| 中文字幕亚洲图片| 九九视频直播综合网| 欧美中文字幕在线播放| 日韩免费在线免费观看| 人人爽久久涩噜噜噜网站| 亚洲精品综合精品自拍| 亚洲一区二区三| 日韩av中文字幕在线| 欧美成人午夜剧场免费观看| 欧美国产中文字幕| 激情成人中文字幕| 亚洲免费影视第一页| 久久久之久亚州精品露出| 亚洲精品自产拍| 久久影院中文字幕| 日韩中文字幕国产| 2019日本中文字幕| 91亚洲va在线va天堂va国| 欧美日韩国产精品一区二区三区四区| 97久久精品国产| 777777777亚洲妇女| 亚洲精品之草原avav久久| 国产精品免费一区二区三区都可以| 亚洲欧美日韩视频一区| 久久视频免费观看| 国产精品一区二区久久精品| 中文字幕日韩欧美在线视频| 日韩综合视频在线观看| 91亚洲国产成人久久精品网站| www.国产精品一二区| 国产成+人+综合+亚洲欧美丁香花| 亚洲欧洲在线播放| 成人久久一区二区三区| 亚洲人精选亚洲人成在线| 欧美精品性视频| 国产一区二区丝袜高跟鞋图片| 在线看日韩欧美| 九九热r在线视频精品| 这里只有精品在线播放| 中文字幕亚洲情99在线| 欧美小视频在线观看| 国产亚洲精品高潮| 欧美大成色www永久网站婷| 国产精品一区=区| 琪琪亚洲精品午夜在线| 亚洲欧美成人一区二区在线电影| 欧美激情一区二区三级高清视频| 日韩欧美成人精品| 91精品国产成人www| 色中色综合影院手机版在线观看| 91免费高清视频| 色婷婷成人综合| 91精品国产九九九久久久亚洲| 欧美日韩国产精品| 亚洲国产日韩欧美在线99| 一区二区三区国产视频| 色综合老司机第九色激情| 亚洲福利在线看| 91av免费观看91av精品在线| 欧美激情精品久久久久久蜜臀| 91亚洲国产成人久久精品网站| 成人黄色片网站| 97色在线观看免费视频| 亚洲欧美制服第一页| 亚洲欧美一区二区三区情侣bbw| 精品久久久久久中文字幕一区奶水| 日韩一区二区久久久| 欧美超级免费视 在线| 欧美成人激情在线| 久久视频国产精品免费视频在线| 久久精品国产一区| 国产福利精品在线| 精品久久香蕉国产线看观看亚洲| 日本午夜人人精品| 国产精品网址在线| 中文字幕久久久| 国产精品a久久久久久| 欧美成人一二三| 国产精品自拍视频| 在线观看不卡av| 91夜夜未满十八勿入爽爽影院| 亚洲精品视频在线观看视频| 亚洲日韩欧美视频| 日韩av综合中文字幕| 亲子乱一区二区三区电影| 日韩国产高清污视频在线观看| 综合国产在线视频| 中文字幕免费精品一区高清| 欧洲成人性视频| 久久影院资源网| 午夜精品久久久久久久99热浪潮| 国产精品久久久久99| 成人欧美一区二区三区黑人孕妇| 亚洲成人激情视频| 亚洲欧美一区二区精品久久久| 精品福利免费观看| 97在线精品国自产拍中文| 日韩精品在线播放| 日韩av电影中文字幕| 久久久久国产精品免费网站| 欧美日韩视频免费播放| 美女撒尿一区二区三区| 91丝袜美腿美女视频网站| 亚洲国产精彩中文乱码av在线播放| 久久伊人91精品综合网站| 国产情人节一区| 在线精品国产成人综合| 91精品国产色综合久久不卡98口| 成人午夜一级二级三级| 亚洲综合在线小说| 日韩av一区在线观看| 色婷婷av一区二区三区在线观看| 午夜免费日韩视频| 精品久久久久久久久久ntr影视| 亚洲欧美激情精品一区二区| 成人免费在线视频网站| 最近2019年中文视频免费在线观看| 国产精品永久在线| 欧美国产一区二区三区| 亚洲精品之草原avav久久| 欧美裸身视频免费观看| 97久久超碰福利国产精品…| 亚洲大胆人体视频| 高清在线视频日韩欧美| 日韩在线www| 国产第一区电影| 国产小视频91| 狠狠色香婷婷久久亚洲精品| 一区二区欧美亚洲| 久久精品在线播放| 国产亚洲人成a一在线v站| 亚洲乱码一区二区| 最近2019年好看中文字幕视频| 亚洲欧美国产精品va在线观看| 久久免费视频这里只有精品| 欧美电影免费播放| 日韩av在线最新| 亚洲激情在线观看视频免费| 欧美在线中文字幕| 欧美黑人狂野猛交老妇| 亚洲最大av网| 大胆人体色综合| 伊人成人开心激情综合网| 国产mv久久久| 成人免费观看49www在线观看| 久久久久亚洲精品成人网小说| 中文字幕亚洲激情| 日本精品久久中文字幕佐佐木| 亚洲精品有码在线| 亚洲 日韩 国产第一| 精品久久久国产| 92看片淫黄大片看国产片| 夜色77av精品影院| 亚洲91精品在线观看| 精品视频久久久久久久|