Mongo高級查詢-創(chuàng)新互聯(lián)

1、條件操作符

創(chuàng)新互聯(lián)公司專注于都勻企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。都勻網(wǎng)站建設(shè)公司,為都勻等地區(qū)提供建站服務(wù)。全流程按需制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

(1)條件操作符

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

(2)$all匹配所有

這個操作符跟SQL 語法的in 類似,但不同的是, in 只需滿足( )內(nèi)的某一個值即可, 而$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 ] }

(3)$exists判斷字段在不在

查詢所有存在age 字段的記錄

db.users.find({age: {$exists: true}});

查詢所有不存在name 字段的記錄

db.users.find({name: {$exists: false}});

(4)Null值處理

Null不僅能找到自身而且還能找到不存在某個字段的值

(5)$mod取模運算

取模6為1的

> db.user.find()

{ "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }

{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }

{ "_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 }

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

{ "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }

(5)$ne不等于

查詢age 的值不等于7 的數(shù)據(jù)

> db.user.find({age:{$ne:6}})

{ "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }

{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }

> db.user.find({age:{$ne:7}})

{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }

{ "_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 }

(6)$in包含

查詢age 的值在7,8 范圍內(nèi)的數(shù)據(jù)

> db.user.find({age:{$in:[7,8]}})

{ "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }

{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }

(7)min不包含

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

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

{ "_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 }

(8)$size數(shù)組元素個數(shù)

匹配db.users.find({favorite_number: {$size: 3}});

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

> db.user.find({favorite_number:{$size:3}})

{ "_id" : ObjectId("579eee3d8aeb5abda0d54b5e"), "name" : "David", "age" : 26, "favorite_number" : [ 6, 7, 9 ] }

> db.user.find({favorite_number:{$size:2}})

>

(9)正則表達式匹配

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

db.user.find()

{ "_id" : ObjectId("4fb5faaf6d0f9d8ea3fc91a8"), "name" : "Tony", "age" : 20 }

{ "_id" : ObjectId("4fb5fab96d0f9d8ea3fc91a9"), "name" : "Joe", "age" : 10 }

> db.user.find({name:{$not:/^T.*/}})

{ "_id" : ObjectId("4fb5fab96d0f9d8ea3fc91a9"), "name" : "Joe", "age" : 10 }

>

(10) 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);

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

> db.user.find()

{ "_id" : ObjectId("4fb5faaf6d0f9d8ea3fc91a8"), "name" : "Tony", "age" : 20 }

{ "_id" : ObjectId("4fb5fab96d0f9d8ea3fc91a9"), "name" : "Joe", "age" : 10 }

> db.user.find().count()

2

>

(12)skip限制返回記錄的起點

查詢user中的第2條數(shù)據(jù)

> db.user.find()

{ "_id" : ObjectId("4fb5faaf6d0f9d8ea3fc91a8"), "name" : "Tony", "age" : 20 }

{ "_id" : ObjectId("4fb5fab96d0f9d8ea3fc91a9"), "name" : "Joe", "age" : 10 }

> db.user.find().skip(1).limit(1)

{ "_id" : ObjectId("4fb5fab96d0f9d8ea3fc91a9"), "name" : "Joe", "age" : 10 }

>

(13)sort排序

查詢c1 表按age 升序排列

> db.user.find().sort({age:-1})

{ "_id" : ObjectId("4fb5faaf6d0f9d8ea3fc91a8"), "name" : "Tony", "age" : 20 }

{ "_id" : ObjectId("4fb5fab96d0f9d8ea3fc91a9"), "name" : "Joe", "age" : 10 }

> db.user.find().sort({age:1})

{ "_id" : ObjectId("4fb5fab96d0f9d8ea3fc91a9"), "name" : "Joe", "age" : 10 }

{ "_id" : ObjectId("4fb5faaf6d0f9d8ea3fc91a8"), "name" : "Tony", "age" : 20 }

>

(14)游標(biāo)

for (var i=1;i<10;i++) db.user.insert( {"x" : i})

> for(var c=db.user.find();c.hasNext();){printjson(c.next());}

{ "_id" : ObjectId("579ef6198aeb5abda0d54b5f"), "x" : 1 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b60"), "x" : 2 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b61"), "x" : 3 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b62"), "x" : 4 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b63"), "x" : 5 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b64"), "x" : 6 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b65"), "x" : 7 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b66"), "x" : 8 }

{ "_id" : ObjectId("579ef6198aeb5abda0d54b67"), "x" : 9 }

>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標(biāo)題:Mongo高級查詢-創(chuàng)新互聯(lián)
分享鏈接:http://muchs.cn/article10/dhigdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、手機網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、域名注冊、用戶體驗、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站