MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

ドキュメントをフェッチするためのサブコレクションのMongoDB「$and」演算子?


ドキュメントをフェッチするには、MongoDBで$andの代わりに$inを使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo83.insertOne(
... {
...    "Details":[
...       {
...          "Name":"Chris",
...          "Subject":[
...             "MySQL",
...             "MongoDB"
...          ]
...       },
...       {
...          "Name":"David",
...          "Subject":[
...          "Java",
...          "C"
...          ]
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2bfd2271bf0181ecc422a3")
}
> db.demo83.insertOne(
... {
...    "Details":[
...       {
...          "Name":"Bob",
...          "Subject":[
...          "C++",
...          "Python"
...          ]
...       },
...       {
...          "Name":"John",
...          "Subject":[
...             "Spring",
...             "Hibernate"
...          ]
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2bfd4571bf0181ecc422a4")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo83.find();

これにより、次の出力が生成されます-

{
   "_id" : ObjectId("5e2bfd2271bf0181ecc422a3"), "Details" : [
      { "Name" : "Chris", "Subject" : [ "MySQL", "MongoDB" ] },
      { "Name" : "David", "Subject" : [ "Java", "C" ] }
   ]
}
{
   "_id" : ObjectId("5e2bfd4571bf0181ecc422a4"), "Details" : [
      { "Name" : "Bob", "Subject" : [ "C++", "Python" ] },
      { "Name" : "John", "Subject" : [ "Spring", "Hibernate" ] }
   ]
}

以下は、$in-

を使用してドキュメントを検索するためのクエリです。
> db.demo83.find({ "Details" : { "$elemMatch" : {"Name" :"Chris" , "Subject":{"$in":["MongoDB"]}}}});

これにより、次の出力が生成されます-

{
   "_id" : ObjectId("5e2bfd2271bf0181ecc422a3"), "Details" : [
      { "Name" : "Chris", "Subject" : [ "MySQL", "MongoDB" ] },
      { "Name" : "David", "Subject" : [ "Java", "C" ] }
   ] 
}

  1. 大文字と小文字を区別しない検索用のMongoDB$regex演算子iまたはI

    このためには、大文字と小文字を区別しない(i)を使用する必要があります。ドキュメントを使用してコレクションを作成しましょう- > db.demo759.insertOne({SubjectName:"MySQL"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5eb02ba95637cd592b2a4ae7") } > db.demo759.insertOne({SubjectName:&qu

  2. MongoDBの無駄なスペースを削減するための戦略

    Appboyは、モバイルアプリ向けの世界をリードするマーケティング自動化プラットフォームです。ユーザーがお客様のモバイルアプリで何をしているかを追跡し、ユーザーの行動や人口統計に基づいて、ユーザーがメール、プッシュ通知、アプリ内メッセージをターゲットにできるようにすることで、毎月数十億のデータポイントを収集しています。 MongoDBは、ほとんどのデータベーススタックを強化し、ObjectRocketの複数のクラスターで数十のシャードをホストしています。 MongoDBの一般的なパフォーマンス最適化戦略の1つは、ドキュメントで短いフィールド名を使用することです。つまり、次のようなドキュメント