MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come abbinare esattamente l'intero documento?

non credo che questo sia possibile a titolo definitivo, ma una possibile soluzione è eseguire l'hashing del documento.

durante il salvataggio, crea sempre un hash del documento:

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

Quindi, durante la query, puoi eseguire query tramite hash:

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

potrebbe essere fastidioso se esegui frequentemente aggiornamenti atomici sul documento.