Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Cập nhật record MongoDB mà không thay thế các trường hiện có?

Sử dụng toán tử $set để cập nhật record mà không ghi đè các trường khác. Tạo collection:

> db.updateRecordDemo.insertOne({"StudentName":"Larry"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6f95de8cc557214c0e0a") }
> db.updateRecordDemo.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6f9cde8cc557214c0e0b") }
> db.updateRecordDemo.insertOne({"StudentName":"Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6f9dde8cc557214c0e0c") }

Hiển thị tất cả:

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

Kết quả:

{ "_id" : ObjectId("5cbd6f95de8cc557214c0e0a"), "StudentName" : "Larry" }
{ "_id" : ObjectId("5cbd6f9cde8cc557214c0e0b"), "StudentName" : "David" }
{ "_id" : ObjectId("5cbd6f9dde8cc557214c0e0c"), "StudentName" : "Mike" }

Cập nhật thêm trường StudentAge cho document có _id cụ thể:

> db.updateRecordDemo.update({"_id" :ObjectId("5cbd6f9cde8cc557214c0e0b") },{$set : {"StudentAge":24}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Kiểm tra lại:

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

Kết quả:

{ "_id" : ObjectId("5cbd6f95de8cc557214c0e0a"), "StudentName" : "Larry" }
{ "_id" : ObjectId("5cbd6f9cde8cc557214c0e0b"), "StudentName" : "David", "StudentAge" : 24 }
{ "_id" : ObjectId("5cbd6f9dde8cc557214c0e0c"), "StudentName" : "Mike" }