MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Филтрирайте масива с помощта на оператора $in на етап $project

Тъй като $in не се поддържа в агрегатна операция за масив, алтернативата би била да използвате $setIsSubset . За повече информация относно това можете да се обърнете към тази връзка. Обобщената заявка сега ще изглежда като

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

Тази заявка ще върне само елементи, които имат [x] като подмножество на масива в user.accounts .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Опитвам се да получа списък с колекции от mongoose

  2. проекцията не работи със заявка за намиране

  3. MongoDB $sum и $avg от поддокументи

  4. Нива на несигурност на MongoDB и как да ги избегнем

  5. MongoDB заявки с нулева стойност