MongoDBのクエリ文書
文法
MongoDBのクエリデータの構文は次のとおりです。
>db.COLLECTION_NAME.find()
すべてのドキュメントを表示するための構造化されていない方法で()メソッドを見つけます。
あなたは、データを読み取るための読取り可能な方法であることが必要がある場合は、かなり()メソッドの構文を使用することができ、次のとおりです。
>db.col.find().pretty()
かなり()メソッドは、すべてのドキュメントを表示する方法をフォーマットします。
例
次の例では、我々は、データ収集COLを照会します:
> db.col.find().pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
()メソッドを見つけるに加えて、単に文書を返すfindOne()メソッドがあります。
MongoDBのどこステートメントRDBMSと比較
あなたは一般的なSQLデータに精通している場合、次の表では、より良いMongoDBの条件文のクエリを理解することができます。
オペレーティング | フォーマット | 例 | RDBMS類似文 |
---|---|---|---|
同じ | {<key>:<value> } | db.col.find({"by":"本教程"}).pretty() | where by = '本教程' |
以下 | {<key>:{$lt:<value>}} | db.col.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
より小さいか等しいです | {<key>:{$lte:<value>}} | db.col.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
越えます | {<key>:{$gt:<value>}} | db.col.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
以上 | {<key>:{$gte:<value>}} | db.col.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
等しくありません | {<key>:{$ne:<value>}} | db.col.find({"likes":{$ne:50}}).pretty() | where likes != 50 |
MongoDBのAND条件
MongoDBののfind()メソッドは、複数のキー(キー)、カンマで区切られた各キー(キー)、および従来のSQL AND条件を渡すことができます。
構文は次のとおりです。
>db.col.find({key1:value1, key2:value2}).pretty()
例
このチュートリアル MongoDBのチュートリアルのデータを照会するタイトルとキーによりにより、以下の例
> db.col.find({"by":"本教程", "title":"MongoDB 教程"}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
上記の例と同様に、WHERE句:= 'チュートリアル' ANDタイトルで= 'MongoDBのチュートリアル」
MongoDBのOR条件
MongoDBのOR条件文は、構文は次のとおりである、キーワードの$を使用していますか :
>db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
例
以下の例では、我々は、キーまたはキータイトルで、このチュートリアルのクエリの値がMongoDBのチュートリアルのドキュメントであることを示しています。
>db.col.find({$or:[{"by":"本教程"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
共同利用ANDとOR
次の例では、ANDの使用を示し、OR、関節、従来のSQLステートメントに似ている: '(ここで、> 50 ANDを好き =によって「チュートリアル」ORタイトル='のMongoDBチュートリアル')'
>db.col.find({"likes": {$gt:50}, $or: [{"by": "本教程"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }