nie sądzę, że jest to możliwe, ale możliwym rozwiązaniem jest zaszyfrowanie dokumentu.
podczas zapisywania zawsze twórz skrót dokumentu:
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);
Następnie podczas wykonywania zapytań możesz pytać przez hash:
db.collection.find({
hash: hash
})
może być denerwujące, jeśli często wykonujesz atomowe aktualizacje dokumentu.