MongoDBクエリドキュメントの検索

MongoDBクエリのドキュメント

MongoDBは、find()メソッドを使用してドキュメントをクエリします。

find()メソッドは、すべてのドキュメントを構造化されていない方法で表示します。

文法

MongoDBクエリデータの構文は次のとおりです。

db.collection.find(クエリ、投影)
  • query  :オプション、クエリ演算子を使用してクエリ条件を指定します
  • プロジェクション  :オプション。プロジェクション演算子を使用して、返されるキーを指定します。クエリ中にドキュメント内のすべてのキー値が返されます。このパラメーターを省略すればよいだけです(デフォルトは省略されています)。

読みやすい方法でデータを読み取る必要がある場合は、pretty()メソッドを使用できます。構文は次のとおりです。

> db.col.find()。pretty()

pretty()メソッドは、すべてのドキュメントをフォーマットされた方法で表示します。

次の例では、コレクションcolのデータをクエリします。

> db.col.find()。pretty()
{
        "_id":ObjectId( "56063f17ade2f21f36b03133")、
        "タイトル": "MongoDB教程"、
        "説明": "MongoDBはNosqlデータベースです"、
        "によって": "新人チュートリアル"、
        "url": "http://www.runoob.com"、
        「タグ」:[
                "mongodb"、
                "データベース"、
                「NoSQL」
        ]、
        「いいね」:100
}

find()メソッドに加えて、ドキュメントを1つだけ返すfindOne()メソッドもあります。


MongoDBとRDBMS Whereステートメントの比較

通常の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": "Rookie Tutorial"、 "title": "MongoDB Tutorial"})。pretty()
{
        "_id":ObjectId( "56063f17ade2f21f36b03133")、
        "タイトル": "MongoDB教程"、
        "説明": "MongoDBはNosqlデータベースです"、
        "によって": "新人チュートリアル"、
        "url": "http://www.runoob.com"、
        「タグ」:[
                "mongodb"、
                "データベース"、
                「NoSQL」
        ]、
        「いいね」:100
}

上記の例はWHEREステートメントに似ています:WHERE by = 'Rookie tutorial' AND title = 'MongoDB tutorial'


MongoDB OR条件

MongoDB OR条件ステートメントでは、キーワード$またはを使用  します。構文は次のとおりです。

> db.col.find(
   {
      $ or:[
         {key1:value1}、{key2:value2}
      ]
   }
)。可愛い()

次の例では  値キーrookie tutorialまたはキー  タイトル  値  MongoDB tutorialによるクエリキーのドキュメントを示しました   。

> db.col.find({$ or:[{"by": "菜鸟教程"}、{"title": "MongoDB教程"}]})。pretty()
{
        "_id":ObjectId( "56063f17ade2f21f36b03133")、
        "タイトル": "MongoDB教程"、
        "説明": "MongoDBはNosqlデータベースです"、
        "によって": "新人チュートリアル"、
        "url": "http://www.runoob.com"、
        「タグ」:[
                "mongodb"、
                "データベース"、
                「NoSQL」
        ]、
        「いいね」:100
}
>

ANDとORの併用

次の例は、従来のSQLステートメントと同様に、ANDとORの組み合わせ使用を示しています。  'where likes> 50 AND(by =' Rookie tutorial 'OR title =' MongoDB tutorial ')'

17件の元の記事を公開 228のような 330,000以上を訪問

おすすめ

転載: blog.csdn.net/cxu123321/article/details/105484813