sql >> Database >  >> NoSQL >> MongoDB

Hoe exact matchen met het volledige document?

ik denk niet dat dit ronduit mogelijk is, maar een mogelijke oplossing is om het document te hashen.

maak bij het opslaan altijd een hash van het document:

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

Wanneer u een zoekopdracht uitvoert, kunt u een zoekopdracht per hash uitvoeren:

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

kan vervelend zijn als u regelmatig atoomupdates op het document uitvoert.



  1. MongoRepository dynamische zoekopdrachten

  2. Kan TXT-record voor host Cluster0-XXXXX.mongodb.net niet opzoeken

  3. Haal de d3.js-array op van een url

  4. Mongodb kan dumpen, maar niet om fouten op te slaan bij het herstellen van <db-name.bson> een insert is te groot