Tôi không nghĩ điều này hoàn toàn có thể xảy ra, nhưng một giải pháp khả thi là băm tài liệu.
khi lưu, hãy luôn tạo một hàm băm của tài liệu:
var doc = {};
delete doc.hash; // never include the hash itself in the calculation
doc.hash = crypto.createHash('sha256').update(JSON.stringify(doc)).digest();
db.collection.insert(doc);
Sau đó, khi truy vấn, bạn có thể truy vấn theo hàm băm:
db.collection.find({
hash: hash
})
có thể gây khó chịu nếu bạn thường xuyên cập nhật nguyên tử trên tài liệu.