これが完全に可能だとは思いませんが、考えられる解決策はドキュメントをハッシュすることです。
保存するときは、常にドキュメントのハッシュを作成してください:
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);
次に、クエリを実行するときに、ハッシュでクエリを実行できます。
db.collection.find({
hash: hash
})
ドキュメントを頻繁にアトミック更新する場合は、煩わしいかもしれません。