MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann man das gesamte Dokument genau abgleichen?

Ich glaube nicht, dass dies direkt möglich ist, aber eine mögliche Lösung besteht darin, das Dokument zu hashen.

Beim Speichern immer einen Hash des Dokuments erstellen:

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);

Dann können Sie beim Abfragen nach Hash abfragen:

db.collection.find({
  hash: hash
})

kann ärgerlich sein, wenn Sie häufig atomare Aktualisierungen am Dokument vornehmen.