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

Wyświetl warunkowy rozmiar tablicy z innymi polami dokumentu mongodb

Dowiedziałem się, jak to zrobić. Dziękuję @joe za sugestię użycia filtra, to rzeczywiście było rozwiązanie.

Oto kompletne zapytanie :

db.fridges.aggregate([
  {
    $match: {
      $and: [
        {
          "brand": {
            $in: [
              "Bosch",
              "Samsung"
            ]
          }
        },
        {
          "color": {
            $in: [
              "grey",
              "white"
            ]
          }
        }
      ]
    }
  },
  {
    $project: {
      "itemsNumber": {
        "$filter": {
          "input": "$items",
          "as": "item",
          "cond": {
            $in: [
              "$$item.name",
              [
                "beer",
                "lettuce"
              ]
            ]
          }
        }
      },
      brand: 1,
      cooler: 1,
      color: 1
    }
  }
])

Przykład działania.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Liczenie Mongo bardzo wolno, gdy są miliony rekordów

  2. Porównaj elementy tablicy, usuń ten z najniższym wynikiem

  3. MongoEngine wycinający zestaw zapytań (mongodb z django)

  4. Jak poprawnie wykonać HAVING w MongoDB GROUP BY?

  5. jak sprawdzić, czy pole istnieje w określonym dokumencie Mongodb za pomocą C#?