,>=這個(gè)操作符就不用多解釋了,最常用也是最簡單的db.collection.find({"field":{$gt:value}});//大于:field>valuedb.collection.find({"field":{$lt:value}});//小于:field

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

MongoDB學(xué)習(xí)筆記(3)--高級(jí)查詢

系統(tǒng) 1704 0
面向文檔的 NoSQL 數(shù)據(jù)庫主要解決的問題不是高性能的并發(fā)讀寫,而是保證海量數(shù)據(jù)存儲(chǔ)的同時(shí),具有良好的查詢性能。?

條件操作符 ?

<, <=, >, >= ?這個(gè)操作符就不用多解釋了,最常用也是最簡單的?
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 } } ); ?// ?小于等于: field <= value?
如果要同時(shí)滿足多個(gè)條件,可以這樣做?

db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); ? ?// value1 < field < value


?

$all 匹配所有

這個(gè)操作符跟SQL語法的in類似,但不同的是, in只需滿足( )內(nèi)的某一個(gè)值即可, ?而$all必

須滿足[ ]內(nèi)的所有值,例如:?
db.users.find({age : {$all : [6, 8]}}); ?
可以查詢出 ?{name: 'David', age: 26, age: [ 6, 8, 9 ] } ?
但查詢不出 ?{name: 'David', age: 26, age: [ 6, 7, 9 ] }?

?

$exists 判斷字段是否存在

?

?

查詢所有存在age字段的記錄 ?
db.users.find({age: {$exists: true}}); ?
查詢所有不存在name字段的記錄 ?
db.users.find({name: {$exists: false}});?

?

Null 值處理?

> db.c2.find({age:null}) ??

?

$mod 取模運(yùn)算?

查詢age取模6等于1的數(shù)據(jù)

db.c1.find({age: {$mod : [ 6 , 1 ] } })

?

$ne 不等于

查詢x的值不等于3 的數(shù)據(jù)?
db.c1.find( { age : { $ne : 7 } } );?

?

$in 包含?

db.c1.find({age:{$in: [7,8]}});?

?

?

$nin 不包含

查詢age的值在7,8 范圍外的數(shù)據(jù)??

?

?

db.c1.find({age:{$nin: [7,8]}});

?

?

?

$size 數(shù)組元素個(gè)數(shù)

對(duì)于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }記錄?
匹配db.users.find({favorite_number: {$size: 3}});?

不匹配db.users.find({favorite_number: {$size: 2}});?

?

?

正則表達(dá)式匹配

查詢name 不以T開頭的數(shù)據(jù)

db.c1.find({name: {$not: /^T.*/}});??

?

Javascript 查詢和$Where查詢

查詢a大于3的數(shù)據(jù),下面的查詢方法殊途同歸?
 ?db.c1.find( { a : { $gt: 3 } } );?
 ?db.c1.find( { $where: "this.a > 3" } );?
 ?db.c1.find("this.a > 3");?

 ?f = function() { return this.a > 3; } db.c1.find(f);??

?

count 查詢記錄條數(shù)?

db.users.find().count();?
以下返回的不是5,而是user 表中所有的記錄數(shù)量?
db.users.find().skip(10).limit(5).count();?
如果要返回限制之后的記錄數(shù)量,要使用count(true)或者count(非0)?

db.users.find().skip(10).limit(5).count(true);??

?

skip限制返回記錄的起點(diǎn)

從第3 條記錄開始,返回5 條記錄(limit 3, 5)?

db.users.find().skip(3).limit(5);?

?

sort 排序?

以年齡升序asc?

db.users.find().sort({age: 1});?
以年齡降序desc?
db.users.find().sort({age: -1});

?

游標(biāo)

for( var c = db.t3.find(); c.hasNext(); ) {?

printjson( c.next());?
}

MongoDB 還有另一種方式來處理游標(biāo)??

> db.t3.find().forEach( function(u) { printjson(u); } );?

?

存儲(chǔ)過程?

關(guān)于存儲(chǔ)過程你需要知道的第一件事就是它是用 javascript來寫的。?

MongoDB 存儲(chǔ)過程是存儲(chǔ)在db.system.js表中的,我們想象一個(gè)簡單的sql自定義函數(shù)如下:

?function addNumbers( x , y ) {?

? ? return x + y;?
}

下面我們將這個(gè)sql自定義函數(shù)轉(zhuǎn)換為MongoDB 的存儲(chǔ)過程:??

> db.system.js.save({_id:"addNumbers", value:function(x, y){ return x + y; }});??

存儲(chǔ)過程可以被查看,修改和刪除,所以我們用 find 來查看一下是否這個(gè)存儲(chǔ)過程已經(jīng)被創(chuàng)建上了。??
> db.system.js.find() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
調(diào)用一下這個(gè)存儲(chǔ)過程:?

db.eval('addNumbers(3, 4.2)');?

db.eval()是一個(gè)比較奇怪的東西,我們可以將存儲(chǔ)過程的邏輯直接在里面并同時(shí)調(diào)用,而無需事先聲明存儲(chǔ)過程的邏輯。??

?

db.eval( function() { return 3+3; } );?

?

?

?

MongoDB學(xué)習(xí)筆記(3)--高級(jí)查詢


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 男女做性无遮挡免费视频 | 波多在线视频 | 黄色激情毛片 | 天天爆操 | 午夜视频在线观看www中文 | 亚洲无线 | 91精品国产综合久久久动漫日韩 | 天天成人综合网 | 九九99国产精品视频 | 国产精品成在线观看 | 欧美一区二区在线视频 | 久久久www成人免费无遮挡大片 | 超97在线观看精品国产 | 男女配种超爽免费视频 | 日本中文字幕不卡 | 亚洲一区视频在线 | 欧美性黑人极品 hd 无码一区二区三区曰本A片 | 香港午夜三级a三级高清观看 | 午夜电影网址 | 亚洲精品婷婷无码成人A片在线 | 日韩在线观看中文字幕 | 久久久日韩精品一区二区 | 好大好爽快点视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 天天做天天爱天天爽综合区 | 三级黄色网址 | 国产在线网站 | 91欧美精品激情在线观看 | 高清在线一区二区 | 国产高清精品一区二区三区 | 精品欧美一区二区在线观看欧美熟 | 久久精品国产线看观看亚洲 | 美女污视频网站 | 国产chinese中国hdxxxx | 成人99 | 日本福利在线观看 | 久久久久久久久久综合 | 日本无卡码免费一区二区三区 | 草草影院在线 | 中文字幕av在线 | 青草国产视频 |