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

MongoDBでオブジェクトの配列を検索できますか?


はい、オブジェクトの配列を検索するには、MongoDBaggregate()で$unwindを使用します。一致させるには、$matchを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo623.insertOne(
...    {
...       _id:1,
...       details:[
...          {
...             Name:"Chris"
...          },
...          {
...             DueDate:new ISODate("2020-01-10")
...          },
...          {
...             CountryName:"US"
...          }
...       ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 1 }

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

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

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

{
   "_id" : 1,
   "details" : [
      {
         "Name" : "Chris"
      },
      {
         "DueDate" : ISODate("2020-01-10T00:00:00Z")
      },
      {
         "CountryName" : "US"
      }
   ]
}

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

> db.demo623.aggregate({$unwind: "$details"},
... {$match: {"details.Name":"Chris"}},
... {$project: {"details.Name": 1}})

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

{ "_id" : 1, "details" : { "Name" : "Chris" } }

  1. 配列内のJavaScriptオブジェクト間でメソッドを共有できますか?

    以下は、配列内のオブジェクト間でメソッドを共有するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>  

  2. 配列内で一致したオブジェクトの数に基づいてMongoDBでドキュメントを見つけるにはどうすればよいですか?

    例を見て、ドキュメントを使用してコレクションを作成しましょう- > db.demo694.insertOne( ...    { ...       "details" : ...       [ ...          { ...             "Name" : "Chris", ...