ネストされたドキュメントのMongoDBfind()クエリ?
ネストされたドキュメントから値をフェッチするには、ドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう-
> db.demo591.insert([
... { "Name": "John", "Age": 23 },
... {"Name": "Carol", "Age": 26},
... { "Name": "Robert", "Age": 29,
... details:[
... {
... Email:"Robert@gmail.com",CountryName:"US"},{"Post":35}
... ]}
... ]);
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 3,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
}) find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo591.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd3"), "Name" : "John", "Age" : 23 }
{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd4"), "Name" : "Carol", "Age" : 26 }
{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd5"), "Name" : "Robert", "Age" : 29, "details" : [ {
"Email" : "Robert@gmail.com", "CountryName" : "US" }, { "Post" : 35 } ] } 以下は、ドット表記を使用してネストされたドキュメントをフェッチするためのクエリです-
> db.demo591.find({"details.Email": "Robert@gmail.com"}); これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd5"), "Name" : "Robert", "Age" : 29, "details" : [
{ "Email" : "Robert@gmail.com", "CountryName" : "US" }, { "Post" : 35 }
] } -
ネストされたドキュメントを更新するためのMongoDBクエリ
ドキュメントを使用してコレクションを作成しましょう- > db.demo595.insertOne( { "Information": [ { "_id": new ObjectId(), Name:"Chris" }, { _id:new ObjectId(), Name:"Robert" } ] } ); { "acknowledged" : true, "inserted
-
ネストされたドキュメントを更新するMongoDBクエリ?
ネストされたドキュメントを更新するには、update()を使用し、その中でドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo607.insertOne( ... { ... id:1, ... "Info1" : { ... "Name" : "Chris", ...