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

オブジェクト内の配列からデータを検索するMongoDBクエリ?


まず、ドキュメントを使用してコレクションを作成しましょう-

> db.findDataDemo.insertOne(
   {
      "_id": new ObjectId(),
      "CustomerName":"John",
      "CustomerDetails" : {
         "CountryName" : [
            "AUS"
         ],
         "isMarried" : [
            false
         ]
      }
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefa5eeef71edecf6a1f6a5")
}
> db.findDataDemo.insertOne(
   {
      "_id": new ObjectId(),
      "CustomerName":"Carol",
      "CustomerDetails" : {
         "CountryName" : [
            "UK"
         ],
         "isMarried" : [
            true
         ]
      }
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefa60aef71edecf6a1f6a6")
}

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

> db.findDataDemo.find().pretty();

出力

{
   "_id" : ObjectId("5cefa5eeef71edecf6a1f6a5"),
   "CustomerName" : "John",
   "CustomerDetails" : {
      "CountryName" : [
         "AUS"
      ],
      "isMarried" : [
         false
      ]
   }
}
{
   "_id" : ObjectId("5cefa60aef71edecf6a1f6a6"),
   "CustomerName" : "Carol",
   "CustomerDetails" : {
      "CountryName" : [
         "UK"
      ],
      "isMarried" : [
         true
      ]
   }
}

以下は、オブジェクト内の配列からデータを検索するためのクエリです-

> db.findDataDemo.find({"CustomerDetails.CountryName":"UK"});

出力

{ "_id" : ObjectId("5cefa60aef71edecf6a1f6a6"), "CustomerName" : "Carol", "CustomerDetails" : { "CountryName" : [ "UK" ], "isMarried" : [ true ] } }
>
  1. インデックスNの配列オブジェクトを更新するMongoDBクエリ?

    MongoDBのupdate()を使用して、配列オブジェクトを更新します。ドット表記の使用も必要です。ドキュメントを使用してコレクションを作成しましょう- > db.demo489.insertOne( ... { ... ... ...    details : [{ ...       id : 101, ...       "Info1" : { ...          "StudentName" : "

  2. オブジェクトの配列内で複数の一致を見つけるためのMongoDBクエリ?

    これには、$andを$regexと一緒に使用します。 $ andは、1つ以上の式の配列に対して論理積演算を実行し、配列内のすべての式を満たすドキュメントを選択します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo525.insertOne({"details":[{Name:"Chris","CountryName":"US"}]});{    "acknowledged" : true,    "insert