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

MongoDB $toUpper

I MongoDB er $toUpper aggregeringspipeline-operatør konverterer en streng til store bogstaver og returnerer resultatet.

Eksempel

Antag, at vi har en samling kaldet pets med følgende dokumenter:

{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }

Vi kan bruge $toUpper operator for at konvertere disse felter til store bogstaver og returnere resultatet.

Her er et eksempel på returnering af name og type felter med store bogstaver:

db.pets.aggregate(
  [
    {
      $project:
        { 
          name: { $toUpper: "$name" },
          type: { $toUpper: "$type" },
          weight: "$weight"
        }
    }
  ]
)

Resultat:

{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : 20 }
{ "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : 10 }
{ "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : 7 }

Konvertering af ikke-strenge

Du kan bruge $toUpper på værdier, der ikke nødvendigvis er strenge. Argumentet kan være et hvilket som helst udtryk, så længe det løses til en streng.

For eksempel kan vi bruge $toUpper for at konvertere weight felt til en streng med store bogstaver, selvom det felt kun indeholder tal.

Eksempel:

db.pets.aggregate(
  [
    {
      $project:
        { 
          name: { $toUpper: "$name" },
          type: { $toUpper: "$type" },
          weight: { $toUpper: "$weight" }
        }
    }
  ]
)

Resultat:

{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : "20" }
{ "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : "10" }
{ "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : "7" }

Vi kan se, at weight felt blev konverteret til en streng, fordi det nu er omgivet af anførselstegn. Men da dette felt kun indeholder tal, er der ingen effekt med store bogstaver – tal har ikke store og små bogstaver, og vi kan derfor ikke se nogen forskel i forhold til store og små bogstaver.

Hvis vi blot ville konvertere tallet til en streng, kunne vi have brugt $toString operatoren eller endda $convert operatør.


  1. Matcher ObjectId til String for $graphLookup

  2. Sådan returneres JSON-data fra php MongoCursor

  3. Alt hvad du behøver at vide om MongoDB Client

  4. MongoDB BSON guide