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

埋め込みドキュメントのフィールドに対するMongoDBクエリ?


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

> db.embeddedDocumentDemo.insertOne(
...    {
...       "CustomerDetails":[
...          {"CustomerName":"Chris", "CustomerPurchasePrice":3000},
...          {"CustomerName":"Robert", "CustomerPurchasePrice":4500},
...          {"CustomerName":"David", "CustomerPurchasePrice":1000},
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd32347edc6604c74817ccd")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

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

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

{
   "_id" : ObjectId("5cd32347edc6604c74817ccd"),
   "CustomerDetails" : [
      {
         "CustomerName" : "Chris",
         "CustomerPurchasePrice" : 3000
      },
      {
         "CustomerName" : "Robert",
         "CustomerPurchasePrice" : 4500
      },
      {
         "CustomerName" : "David",
         "CustomerPurchasePrice" : 1000
      }
   ]
}

以下は、埋め込まれたドキュメントのクエリです-

> db.embeddedDocumentDemo.find({"CustomerDetails.CustomerPurchasePrice":4500});

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

{
   "_id" : ObjectId("5cd32347edc6604c74817ccd"),
   "CustomerDetails" : [
      {
         "CustomerName" : "Chris",
         "CustomerPurchasePrice" : 3000
      },
      {
         "CustomerName" : "Robert",
         "CustomerPurchasePrice" : 4500
      },
      {
         "CustomerName" : "David",
         "CustomerPurchasePrice" : 1000
      }
   ]
}

  1. ネストされたドキュメントを更新するためのMongoDBクエリ

    ドキュメントを使用してコレクションを作成しましょう- > db.demo595.insertOne( { "Information": [    { "_id": new ObjectId(), Name:"Chris" },    { _id:new ObjectId(), Name:"Robert" } ] } ); {    "acknowledged" : true,    "inserted

  2. MongoDBを使用して埋め込みドキュメントの配列でクエリをフィルタリングしますか?

    これには、MongoDBでaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo736.insertOne( ...    { ...       "_id": "101", ...       "details1": [ ...          { ...             &q