MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak kontrolować definicję projekcji w MongoDb za pomocą C#

To jest mongo zapytanie powłoki z MongoDB v4.2.8.

Rozważ ten dokument wejściowy:

{
        "_id" : 1,
        "name" : "john",
        "stuff" : {
                "mycolor" : "red",
                "fruit" : "apple",
                "mybook" : "programming gems",
                "movie" : "star wars"
        }
}

Celem jest projektowanie name i stuff pola, ale stuff tylko z nazwami pól zaczynającymi się od "my" .

Zapytanie agregujące:

db.test.aggregate([
  { 
      $project: { 
          _id: 0, 
          name: 1, 
          stuff: { 
              $filter: { 
                  input: { $objectToArray: "$stuff" }, 
                  as: "stf", 
                  cond: { $regexMatch: { input: "$$stf.k" , regex: "^my" } }
              }
          }
      }
  },
  { 
      $addFields: { stuff: { $arrayToObject: "$stuff" } } 
  }
])

A przewidywany wynik:

{
        "name" : "john",
        "stuff" : {
                "mycolor" : "red",
                "mybook" : "programming gems"
        }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zaktualizuj dokument, używając wyniku połączonych pól

  2. Dlaczego $in jest znacznie szybszy niż $all?

  3. Agregacja Mongo

  4. Jak uruchomić MongoDB i Mongo-express za pomocą docker-compose?

  5. Jak przekonwertować pole tekstowe oddzielone przecinkami na tablicę w mongodb