MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como fazer a correspondência exata do documento inteiro?


Eu não acho que isso seja possível, mas uma solução possível é fazer o hash do documento.

ao salvar, sempre crie um hash do 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);

Então, ao consultar, você pode consultar por hash:
db.collection.find({
  hash: hash
})

pode ser irritante se você fizer atualizações atômicas com frequência no documento.