MongoDBを使用して配列内の別のドキュメントを含むすべてのドキュメントを取得するにはどうすればよいですか?
これには、MongoDBのfind()でドット表記を使用するだけです。ドキュメントを使用してコレクションを作成しましょう-
> db.demo465.insertOne( ... { ... id: 101, ... details: [{ ... Name: "Chris", ... Info: { ... Subject: "MongoDB", ... Marks:67 ... } ... }, { ... Name: "David", ... Info: { ... Subject: "MySQL", ... Marks:78 ... } ... }] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e80421bb0f3fa88e2279061") } > > db.demo465.insertOne( ... { ... id: 102, ... details: [{ ... Name: "Bob", ... Info: { ... Subject: "Java", ... Marks:45 ... } ... }, { ... Name: "Carol", ... Info: { ... Subject: "C", ... Marks:67 ... } ... }] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e80421cb0f3fa88e2279062") }
> db.demo465.find();
{ "_id" : ObjectId("5e80421bb0f3fa88e2279061"), "id" : 101, "details" : [ { "Name" : "Chris", "Info" : { "Subject" : "MongoDB", "Marks" : 67 } }, { "Name" : "David", "Info" : { "Subject" : "MySQL", "Marks" : 78 } } ] } { "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob", "Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C", "Marks" : 67 } } ] }
以下は、配列内に別のドキュメントを含むすべてのドキュメントを取得するためのクエリです-
> db.demo465.find({"details.Name":"Bob"});
{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob", "Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C", "Marks" : 67 } } ] }
-
MongoDBのすべてのサブドキュメントでオブジェクトの個別のペアを取得しますか?
オブジェクトの個別のペアを取得するには、$groupを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo522.insertOne({"Name":"John","Score":45});{ "acknowledged" : true, "insertedId" : ObjectId("5e89b646b3fbf26334ef611b") } > db.demo522.inser
-
MongoDBの配列フィールドを操作してすべてに一致させるにはどうすればよいですか?
MongoDBのすべてに一致させるには、$allを使用します。 $ all演算子は、フィールドの値が指定されたすべての要素を含む配列であるドキュメントを選択します。ドキュメントを使用してコレクションを作成しましょう- > db.demo695.insertOne({"ListOfValues":[100,200,500,800]}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6d4c4551299a9f