sql >> データベース >  >> NoSQL >> MongoDB

空の場合は親データを返しながら、サブドキュメント配列をフィルタリングします

    この場合、このように$matchの代わりに$redactを使用できます

    db.collectionName.aggregate({
      $redact:{
        $cond:{ 
           if:{$and:[{$not:"$dealerName"},{$not:"$title"},{$eq:["$listed",false]}, 
           then: "$$PRUNE", 
           else: "$$DESCEND" 
        }
      }
    })
    

    トップレベルのドキュメントをスキップするための最初の条件、2番目のレベルをスキップするための2番目の条件、および車両を剪定するための3番目の条件が必要です。 $unwindは必要ありません この場合!

    もう1つ:$redactは2.6でのみ利用可能です




    1. MongoDBは、c#のドキュメントから一致するサブドキュメントのみを取得します

    2. node.jsとmongodbでの非同期データベースクエリの処理

    3. C#10genおよびmongo:インターフェースとしてのメンバーの逆シリアル化

    4. ネストされたドキュメントを配列で返す方法