MongoDB学習ノート(四)MongoDBクエリーセット内のドキュメント

2569 ワード

(9)条件式の使用(,>=,!=)
//より大きい:field>valuedb.collection.find({field:{$gt:value}});//小さい:field=valuedb.collection.find({field:{$gte:value}});//以下:field<=valuedb.collection.find({field:{$lte:value}});//等しくない:field!=valuedb.collection.find({field:{$ne:value}});
(10)統計(count)、ソート(sort)、ページング(skip、limit)
db.customer.count();db.customer.find().count();db.customer.find({age:{$lt:5}}).count();db.customer.find().sort({age:1});db.customer.find().skip(2).limit(3);db.customer.find().sort({age:-1}).skip(2).limit(3);db.customer.find().sort({age:-1}).skip(2).limit(3).count();db.customer.find().sort({age:-1}).skip(2).limit(3).count(0);db.customer.find().sort({age:-1}).skip(2).limit(3).count(1);
(11)$allは主に配列に含まれる関係をクエリーするために使用され、クエリー条件に含まないものが1つある限り返されません.
>db.c2.insert({name:"user1",Measurements:[36,24,35]});
>db.c2.find()
{"_id":ObjectId("56064f89ade2f21f36b03137"),"name":"user1","Measurements":[36,24,35]}
>db.c2.find({Measurements:{$all:[36,24]}})
{"_id":ObjectId("56064f89ade2f21f36b03137"),"name":"user1","Measurements":[36,24,35]}
>db.c2.find({Measurements:{$all:[36,25]}})
>

(12)$in、リレーショナル・データベースのINに類似
>db.customer.find({age:{$in:[12,15,17]}})

(13)クエリセット内のドキュメント,$nin,$inとは逆
>db.customer.find({age:{$nin:[12,15,17]}})

(14)$orは、リレーショナル・データベースのORに相当し、またはの関係を表す
クエリnameはuser 2またはageは3
>db.customer.find({$or:[{name:”user2”},{age:3}]})

(15)$norは、条件に基づいていくつかのデータをフィルタリングすることを示す
クエリnameはuser 2ではなく、ageは3のドキュメントではありません
>db.customer.find({$nor:[{name:”user2”},{age:3}]})

(16)$existsは、セットにキーが存在するドキュメントまたはキーが存在しないドキュメントをクエリーするために使用されます.
クエリーcustomerコレクションにnameキーが存在するすべてのドキュメント
$exists:1は真を表し、$exists:0は偽を表し、存在しないことを指す.
>db.customer.find({name:{$exists:1}})

(17)mongodb中カーソル
>x.hasNext()
true
>x.next()
{  
        "_id" : ObjectId("56064f89ade2f21f36b03136"),  
        "title" : "MongoDB     ",  
        "description" : "MongoDB     Nosql    ",  
        "url": 'https://www.mongodb.com',  
        "tags" : [  
                "mongodb",  
                "NoSQL"  
        ],  
        "likes" : 110  
}