sql >> Databáze >  >> NoSQL >> MongoDB

Filtrujte pole pomocí operátoru $in ve fázi projektu $

Od $in není podporováno v agregované operaci pro pole, alternativou by bylo použít $setIsSubset . Pro více informací o tomto můžete odkazovat na tento odkaz. Souhrnný dotaz bude nyní vypadat takto

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

Tento dotaz vrátí pouze prvky, které mají [x] jako podmnožinu pole v user.accounts .



  1. Použití .sort s PyMongem

  2. Redis zrervrangebyscore, řazení jiné než lexikografické pořadí

  3. Jak odstranit n-tý prvek pole v mongodb

  4. Docker [Errno 111] Připojit volání se nezdařilo ('127.0.0.1', 6379)