sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo hacer coincidir exactamente todo el documento?

No creo que esto sea posible directamente, pero una posible solución es codificar el documento.

al guardar, siempre crea 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);

Luego, al consultar, puede consultar por hash:

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

puede ser molesto si realiza actualizaciones atómicas en el documento con frecuencia.