sql >> Database >  >> NoSQL >> MongoDB

Mongodb-query met velden in dezelfde documenten

Je zou $where . kunnen gebruiken :

db.myCollection.find( { $where: "this.a1.a != this.a2.a" } )

Houd er echter rekening mee dat dit niet erg snel zal zijn, omdat het de javascript-engine moet starten en elk document moet herhalen en de voorwaarde voor elk document moet controleren.

Als u deze query moet uitvoeren voor grote verzamelingen, of heel vaak, kunt u het beste een gedenormaliseerde vlag invoeren, zoals areEqual . Toch leveren dergelijke velden met een lage selectiviteit geen goede indexprestaties op, omdat de kandidatenset nog steeds groot is.



  1. Hoe zoek je naar sleutels met een waarde? Haal bijvoorbeeld alle SLEUTELS op waarvan de waarde een of andere waarde is

  2. MongoDB $lt Aggregation Pipeline Operator

  3. Mongoose geneste query op Model op veld van het model waarnaar wordt verwezen

  4. Hoe addToSet uit te voeren met de officiële Go-driver?