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

MongoDBを使用した配列内のオブジェクトの一部からのクエリ


配列内のオブジェクトの一部からクエリを実行するには、$ findOne()と$allを使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo25.insertOne(
... {
...
...    "Details":[
...       {
...          "UserId":"Carol101",
...          "UserName":"Carol"
...       },
...       {
...          "UserId":"David102",
...          "UserName":"David"
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14c86e22d07d3b95082e77")
}
> db.demo25.insertOne(
... {
...
...    "Details":[
...       {
...          "UserId":"Chris101",
...          "UserName":"Chris"
...       },
...       {
...          "UserId":"Mike102",
...          "UserName":"Mike"
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14c86f22d07d3b95082e78")
}

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

> db.demo25.find();

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

{ "_id" : ObjectId("5e14c86e22d07d3b95082e77"), "Details" : [ { "UserId" : "Carol101", "UserName" : "Carol" }, { "UserId" : "David102", "UserName" : "David" } ] }
{ "_id" : ObjectId("5e14c86f22d07d3b95082e78"), "Details" : [ { "UserId" : "Chris101", "UserName" : "Chris" }, { "UserId" : "Mike102", "UserName" : "Mike" } ] }

配列内のオブジェクトの一部からクエリを実行する方法は次のとおりです-

> db.demo25.findOne({ "Details.UserId":{$all : ["Carol101","David102"]}});

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

{
   "_id" : ObjectId("5e14c86e22d07d3b95082e77"),
   "Details" : [
      {
         "UserId" : "Carol101",
         "UserName" : "Carol"
      },
      {
         "UserId" : "David102",
         "UserName" : "David"
      }
   ]
}

  1. MongoDBで$pushを使用して配列を更新する

    $ pushで配列を更新するには、MongoDBでupdateOne()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo526.insertOne( ... { ... ...    "CountryName": "US", ...    "TeacherName": "Bob", ...    "StudentInformation": [ ...      

  2. MongoDBを使用して、特定のネストされたドキュメントのオブジェクトの配列をクエリしますか?

    ネストされたドキュメントのオブジェクトの配列をクエリするには、find()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo763.insertOne( ...    { ...       _id:1, ...       CountryName:"US", ...       "studentInformation": [ ...          {