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

Filtruj tablicę za pomocą operatora $in na etapie $project

Od $in nie jest obsługiwane w operacji agregującej dla tablicy, alternatywą byłoby użycie $setIsSubset . Więcej informacji na ten temat można znaleźć pod tym linkiem. Zapytanie zbiorcze wyglądałoby teraz tak:

db.test.aggregate([
{
    $project: {
        'filtered_users': {
            $filter: {
                input: '$users',
                as: 'user',
                cond: {
                   $setIsSubset: [['x'], '$$user.accounts']           
                }
            }
        }
    }
}])

To zapytanie zwróci tylko elementy, które mają [x] jako podzbiór tablicy w user.accounts .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Napraw „$pullAll wymaga argumentu tablicowego, ale otrzymał podwójną” w MongoDB

  2. Jak automatyzacja baz danych MongoDB poprawia bezpieczeństwo

  3. Mapowanie dokumentu z częściowo zdefiniowanym schematem

  4. Rusztowania Yeoman, Mongoose i MongoDB

  5. Średnie pole dokumentu podrzędnego w różnych dokumentach w Mongo