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

bson.D vs bson.M til søgeforespørgsler

Du kan bruge bson.M for filteret resulterer det normalt i kortere og klarere filterdeklaration, rækkefølgen af ​​felter er ligegyldig, MongoDB serveren er smart nok til at finde matchende indekser uanset den brugte rækkefølge. For eksempel. hvis du har et sammensat indeks med felterne A og B , ved hjælp af en bson.D filterliste B først derefter A vil ikke forhindre serveren i at bruge det eksisterende indeks. Så i dette tilfælde kan du bruge bson.M og bson.D , det er lige meget.

Rækkefølgen har betydning, når du f.eks. angiver sorteringsfelter. Det betyder noget, om du sorterer efter felt A derefter ved felt B , kan det være en helt anden rækkefølge end at sortere efter B først og derefter ved A . Så når du angiver et sorteringsdokument med flere felter, bør du helt sikkert bruge bson.D .

Rækkefølgen kan også have betydning (for dig ), når du f.eks. indsætter et nyt dokument. Hvis du bruger en bson.M som dokumentet er rækkefølgen af ​​felter ikke garanteret at være den samme i alle dine dokumenter. Når du bruger bson.D , så vil rækkefølgen i det gemte dokument matche rækkefølgen, når du angiver felterne i bson.D .



  1. Er db.stats() et blokerende kald for MongoDB?

  2. Serialisering af uforanderlige værdityper med Mongo C#-driver

  3. $filter op til 2 indlejrede niveauer i mongodb

  4. Hent en værdi fra MongoDB efter dets nøglenavn