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

mongodbドキュメントの他のフィールドとともに配列の条件付きサイズを表示します

    私はそれを機能させる方法を見つけました。フィルタの使用を提案してくれた@joeに感謝します。これは確かに解決策でした。

    完全なクエリは次のとおりです:

    db.fridges.aggregate([
      {
        $match: {
          $and: [
            {
              "brand": {
                $in: [
                  "Bosch",
                  "Samsung"
                ]
              }
            },
            {
              "color": {
                $in: [
                  "grey",
                  "white"
                ]
              }
            }
          ]
        }
      },
      {
        $project: {
          "itemsNumber": {
            "$filter": {
              "input": "$items",
              "as": "item",
              "cond": {
                $in: [
                  "$$item.name",
                  [
                    "beer",
                    "lettuce"
                  ]
                ]
              }
            }
          },
          brand: 1,
          cooler: 1,
          color: 1
        }
      }
    ])
    

    実行可能な例。




    1. MongoのPHPを使用したJSONのデコード

    2. マングース:配列内の既存の要素を更新する方法は?

    3. MongoDB:別のコレクションに基づく1つのコレクションからの条件付き選択

    4. MongodbAtlasをSpringに接続する方法