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)正則表達(dá)式匹配
查詢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ù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。