sql >> Databasteknik >  >> NoSQL >> MongoDB

Filtrera array med $in-operatorn i $projektstadiet

Sedan $in stöds inte i aggregerad operation för array, alternativet skulle vara att du använder $setIsSubset . För mer information om detta kan du hänvisa till denna länk. Den sammanlagda frågan skulle nu se ut som

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

Denna fråga returnerar endast element som har [x] som en delmängd av arrayen i user.accounts .



  1. Konfigurera Apache Reverse Proxy för att vara värd för Laravel Echo Server vid produktion

  2. MongoDB Analytics-serien:SlamData – Kör SQL och bygg rapporter direkt på MongoDB

  3. Hur uppdaterar man om det finns annars infoga nytt dokument?

  4. HBase-uppgradering ovanpå Event Sourcing och CQRS-arkitektur på 3 veckor