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

Hvordan matcher man hele dokumentet?

Jeg tror ikke, det er muligt direkte, men en mulig løsning er at hash dokumentet.

Når du gemmer, skal du altid oprette en hash af dokumentet:

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

Så når du forespørger, kan du forespørge med hash:

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

kan være irriterende, hvis du ofte laver atomopdateringer på dokumentet.



  1. Sådan forespørges/opdateres underdokument i MongoDB ved hjælp af C#-driver

  2. MongoDB version 2.6 fejler stadig på 2dsphere geoindeksering med henvisning til manglende evne til at udtrække geonøgler og mulig misformet geometri

  3. Indfødt driverfund fra Mongoose-model returnerer ikke markør

  4. Nodejs Mongo indsæt i underdokument - dynamisk feltnavn