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

Jak zwrócić agregację podtablic z filtrem na najwyższej tablicy?

Możesz spróbować poniższej agregacji:

ChoreChart.aggregate([
    { "$match": { "affiliation": affiliation, "year": week.year, "weekNumber": week.number } },
    {
        $addFields: {
            chart: {
                $filter: {
                    input: "$chart",
                    cond: { $eq: [ "$$this.ordinal", 2 ] }
                }
            }
        }
    }
])

$addFields zastępuje istniejące pole i $filter filtruje tablicę wewnętrzną. Dodatkowo, ponieważ twój ordinal to liczba, którą musisz również podać w zapytaniu, a nie jako ciąg.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zmusić mongo do przechowywania członków małymi literami?

  2. Jaka jest różnica między rozmiarem a rozmiarem magazynu wyświetlanym przez funkcję Mongo stats()?

  3. mongodb:znajdź podsumowanie rekordów

  4. Automatyzacja MongoDB za pomocą SaltStack

  5. dlaczego DuplicateKeyError:E11000 zduplikowany indeks błędu klucza:test.test.$notification_1 dup key:{ :null }