Latest web development tutorials

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
}