sql >> Databasteknik >  >> NoSQL >> MongoDB

bson.D vs bson.M för sökfrågor

Du kan använda bson.M för filtret resulterar det vanligtvis i kortare och tydligare filterdeklaration, ordningen på fälten spelar ingen roll, MongoDB-servern är smart nog att hitta matchande index oavsett vilken ordning som används. T.ex. om du har ett sammansatt index med fälten A och B , med en bson.D filterlista B först sedan A kommer inte att hindra servern att använda det befintliga indexet. Så i det här fallet kan du använda bson.M och bson.D , det spelar ingen roll.

Ordningen spelar roll när du till exempel anger sorteringsfält. Det spelar roll om du sorterar efter fält A sedan genom fältet B , kan det vara en helt annan ordning än att sortera efter B först och sedan med A . Så när du anger ett sorteringsdokument med flera fält bör du definitivt använda bson.D .

Ordningen kan också ha betydelse (för dig ) när du till exempel infogar ett nytt dokument. Om du använder en bson.M som dokumentet är det inte garanterat att fältordningen är densamma i alla dina dokument. När du använder bson.D , då kommer ordningen i det sparade dokumentet att matcha ordningen när du listar fälten i bson.D .



  1. distinkta urval i litium

  2. Hur filtrerar man dokument baserat på en inbäddad array?

  3. Låser MongoDB MapReduce databasen

  4. MongoDB $gte Aggregation Pipeline Operator