Để cập nhật chỉ một tài liệu đơn lẻ, sử dụng phương thức updateOne().
Tạo collection với 3 tài liệu (2 tài liệu có StudentId=1):
> db.updateOneDemo.insertOne({"StudentId":1,"StudentFirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06ed3725ddae1f53b621e8") }
> db.updateOneDemo.insertOne({"StudentId":2,"StudentFirstName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06ed3825ddae1f53b621e9") }
> db.updateOneDemo.insertOne({"StudentId":1,"StudentFirstName":"Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06ed3825ddae1f53b621ea") }
Hiển thị dữ liệu ban đầu:
> db.updateOneDemo.find();
{ "_id" : ObjectId("5e06ed3725ddae1f53b621e8"), "StudentId" : 1, "StudentFirstName" : "Chris" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621e9"), "StudentId" : 2, "StudentFirstName" : "David" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621ea"), "StudentId" : 1, "StudentFirstName" : "Mike" }
Cập nhật tài liệu đầu tiên tìm thấy (query rỗng {} khớp tài liệu đầu tiên):
> db.updateOneDemo.updateOne({},{$set:{"StudentFirstName": "Robert"}});
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
Kết quả: chỉ tài liệu đầu tiên (Chris) bị đổi thành Robert, tài liệu thứ 3 (Mike) không đổi:
> db.updateOneDemo.find();
{ "_id" : ObjectId("5e06ed3725ddae1f53b621e8"), "StudentId" : 1, "StudentFirstName" : "Robert" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621e9"), "StudentId" : 2, "StudentFirstName" : "David" }
{ "_id" : ObjectId("5e06ed3825ddae1f53b621ea"), "StudentId" : 1, "StudentFirstName" : "Mike" }