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

Mongodb-forespørgsel med felter i de samme dokumenter

Du kan bruge $where :

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

Vær dog opmærksom på, at dette ikke vil være særlig hurtigt, fordi det bliver nødt til at skrue java script-motoren op og gentage hvert eneste dokument og kontrollere tilstanden for hvert dokument.

Hvis du har brug for at udføre denne forespørgsel for store samlinger, eller meget ofte, er det bedst at introducere et denormaliseret flag, såsom areEqual . Alligevel giver sådanne felter med lav selektivitet ikke god indeksydelse, fordi kandidatsættet stadig er stort.



  1. Aggregation med opdatering i mongoDB

  2. Ændring af standard filtilladelse på redis dump

  3. Kan ikke starte MongoDB som en tjeneste

  4. Datosammenligning i mongodb