MongoDBの内部フィールドを更新したい
内部フィールドを更新するには、次の構文を使用します-
db.yourCollectionName.update({"_id" : yourObjectId}, {$set : {"yourOuterFieldName.yourInnerFieldName" :yourValue}});
まず、ドキュメントを使用してコレクションを作成しましょう-
> db.updateDocumentDemo.insertOne( ... { ... ... "StudentDetails" : { ... "StudentFirstName" : "Adam", ... "StudentLastName" : "Samith" ... }, ... "StudentOtherDetails" : { ... "StudentFavouriteSubject" : "MySQL", ... "StudentScore" : 45 ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5cd50bb32cba06f46efe9efe") }
以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-
> db.updateDocumentDemo.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5cd50bb32cba06f46efe9efe"), "StudentDetails" : { "StudentFirstName" : "Adam", "StudentLastName" : "Samith" }, "StudentOtherDetails" : { "StudentFavouriteSubject" : "MySQL", "StudentScore" : 45 } }
以下は、MongoDBのドキュメントを更新するためのクエリです-
> db.updateDocumentDemo.update({"_id" : ObjectId("5cd50bb32cba06f46efe9efe")}, ... {$set : {"StudentOtherDetails.StudentFavouriteSubject" :"MongoDB"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ドキュメントをもう一度表示しましょう-
> db.updateDocumentDemo.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5cd50bb32cba06f46efe9efe"), "StudentDetails" : { "StudentFirstName" : "Adam", "StudentLastName" : "Samith" }, "StudentOtherDetails" : { "StudentFavouriteSubject" : "MongoDB", "StudentScore" : 45 } }
-
MongoDBのプロジェクトフィールド
MongoDBでフィールドをプロジェクトするには、$projectを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo439.insertOne( ... { ... "Name" : "Chris", ... "MarksInformation" : { ... "Marks1" : 67, ...
-
MongoDBのidフィールドを非表示
ドキュメントを使用してコレクションを作成しましょう- > db.demo575.insertOne({id:101,Information:{Name:"Chris",Age:21}});{ "acknowledged" : true, "insertedId" : ObjectId("5e916a55581e9acd78b427f7") } > db.demo575.insertOne({id:102,Information:{Name:"David",A