Có, dùng findAndModify() với tùy chọn new: true để trả về tài liệu sau khi cập nhật.
Tạo collection
> db.returnResultOfIncementDemo.insertOne({"PlayerScore": 98});
{ "acknowledged": true, "insertedId": ObjectId("5cd3c292edc6604c74817cda") }
Hiển thị tài liệu
> db.returnResultOfIncementDemo.find();
Kết quả: { "_id": ObjectId("..."), "PlayerScore": 98 }
Tăng PlayerScore 2 đơn vị và trả về tài liệu mới
> db.returnResultOfIncementDemo.findAndModify({
query: {},
update: { $inc: { PlayerScore: 2 } },
new: true
});
Kết quả (trả về tài liệu SAU khi cập nhật):
{
"_id": ObjectId("5cd3c292edc6604c74817cda"),
"PlayerScore": 100
}
Giải thích:
query: {}— khớp tài liệu đầu tiên (nên thêm điều kiện cụ thể)update: { $inc: { PlayerScore: 2 } }— tăng 2new: true— trả về tài liệu sau khi cập nhật (mặc địnhfalsetrả về trước khi cập nhật)
Lưu ý: findAndModify đã lỗi thời. Phiên bản mới dùng findOneAndUpdate() với tùy chọn returnDocument: 'after'.