ネストされた配列内で$ Max値を取得する

tbowden

Object内の子配列、つまり親配列内の単一のMongoDBドキュメントから最大値を抽出しようとしています。

子配列は親配列data内に含まれていると呼ば、同じ値の残りの部分と比較したときにlist、最も高いものを抽出しようnumberとしています。

とりわけ$Groupand $max(以下の例)を使用てみましたが、あまり成功していません。-すべての数値を含む配列が返されます:[2,3]

list配列とdata配列を検索して最高値を返すにはどうすればよいnumberですか?

以下の例で期待される出力: {output: 3}

MongoPlaygroundの例:https://mongoplayground.net/p/qw9Kz_WVYiS

MongoDBのセットアップとドキュメント

db={
  "groups": [
    {
      "_id": ObjectId("602ed22af42c404096407dda"),
      "groupName": "Name"
    }
  ],
  "inventory": [
    {
      "_id": ObjectId("602ed22af42c404096407ddc"),
      "linkedGroup": ObjectId("602ed22af42c404096407dda"),
      "list": [
        {
          "_id": ObjectId("602eeb0621a11045638b7082"),
          "data": {
            "number": 2
          },
          
        },
        {
          "_id": ObjectId("602eec75c37147459ed7b12c"),
          "data": {
            "number": 3
          }
        }
      ]
    }
  ]
}

クエリ

db.groups.aggregate([
  {
    "$lookup": {
      "from": "inventory",
      "localField": "_id",
      "foreignField": "linkedGroup",
      "as": "inventory_links"
    }
  },
  {
    $group: {
      _id: 1,
      output: {
        $max: "$inventory_links.list.data.number"
      },
      
    },
    
  }
])
承知しました

$reduce最大値を見つけるために。クエリを使用して、他のステージを追加できます。

{
    $addFields: {
      _id: 1,
      inventory_links: {"$arrayElemAt": ["$inventory_links",0]}
    }
},
{
    $project: {
      output: {
        $reduce: {
          input: "$inventory_links.list",
          initialValue: 0,
          in: {
            $cond: [
              {$gte: [ "$$this.data.number","$$value"]},
              "$$this.data.number",
              "$$value"
            ]
          }
        }
      }
    }
}

働くモンゴの遊び場

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Yii変換配列:ネストされた配列内で特定の値を取得する方法

分類Dev

ネストされた配列内のネストされた配列を更新

分類Dev

ネストされた配列である名前内のjQueryselect

分類Dev

ネストされた配列 (json) から値を取得する

分類Dev

ネストされた配列から値を取得する

分類Dev

Angularでネストされたjson配列から値を取得する

分類Dev

JavaでJSONネストされた配列要素を取得する

分類Dev

ネストされた配列内で変数を交換する方法は?

分類Dev

ネストされた配列内のオブジェクトの値で配列を並べ替える方法

分類Dev

ネストされた配列からSQL列値の値を取得する

分類Dev

Laravel:ネストされた配列内からデータを取得する方法

分類Dev

ネストされたJSONデータ内の配列値を抽出する方法

分類Dev

配列内のネストされた配列を削除する方法

分類Dev

ネストされたJSON配列内の配列を比較する方法は?

分類Dev

PHPでネストされた配列への配列値

分類Dev

ネストされた配列で値を見つける

分類Dev

迅速な辞書のネストされた配列操作-辞書内のネストされた配列を変更することはできません

分類Dev

ネストされた配列から値を取得するにはどうすればよいですか?JSON

分類Dev

複数の配列内にネストされた1つの配列を使用してPHPでjsonを生成する方法(値を一致させるため)

分類Dev

ネストされた配列内のMongodb Increment値

分類Dev

C#ネストされたJSON配列を解析して値を取得する

分類Dev

ネストされたforループを使用した配列内のpythonNumpy配列

分類Dev

json配列のネストされた値を再帰的に取得する方法は?

分類Dev

配列mongodb内のネストされた配列を更新しています

分類Dev

Elasticsearchで、ネストされた配列内の値でグループ化する方法

分類Dev

ネストされたリスト内のnumpy配列を操作する

分類Dev

GoのJSONリクエスト内でネストされた配列を使用する

分類Dev

配列内のネストされたキーを削除するにはどうすればよいですか?

分類Dev

PostgreSQLでネストされたjsonb配列を検索する

Related 関連記事

  1. 1

    Yii変換配列:ネストされた配列内で特定の値を取得する方法

  2. 2

    ネストされた配列内のネストされた配列を更新

  3. 3

    ネストされた配列である名前内のjQueryselect

  4. 4

    ネストされた配列 (json) から値を取得する

  5. 5

    ネストされた配列から値を取得する

  6. 6

    Angularでネストされたjson配列から値を取得する

  7. 7

    JavaでJSONネストされた配列要素を取得する

  8. 8

    ネストされた配列内で変数を交換する方法は?

  9. 9

    ネストされた配列内のオブジェクトの値で配列を並べ替える方法

  10. 10

    ネストされた配列からSQL列値の値を取得する

  11. 11

    Laravel:ネストされた配列内からデータを取得する方法

  12. 12

    ネストされたJSONデータ内の配列値を抽出する方法

  13. 13

    配列内のネストされた配列を削除する方法

  14. 14

    ネストされたJSON配列内の配列を比較する方法は?

  15. 15

    PHPでネストされた配列への配列値

  16. 16

    ネストされた配列で値を見つける

  17. 17

    迅速な辞書のネストされた配列操作-辞書内のネストされた配列を変更することはできません

  18. 18

    ネストされた配列から値を取得するにはどうすればよいですか?JSON

  19. 19

    複数の配列内にネストされた1つの配列を使用してPHPでjsonを生成する方法(値を一致させるため)

  20. 20

    ネストされた配列内のMongodb Increment値

  21. 21

    C#ネストされたJSON配列を解析して値を取得する

  22. 22

    ネストされたforループを使用した配列内のpythonNumpy配列

  23. 23

    json配列のネストされた値を再帰的に取得する方法は?

  24. 24

    配列mongodb内のネストされた配列を更新しています

  25. 25

    Elasticsearchで、ネストされた配列内の値でグループ化する方法

  26. 26

    ネストされたリスト内のnumpy配列を操作する

  27. 27

    GoのJSONリクエスト内でネストされた配列を使用する

  28. 28

    配列内のネストされたキーを削除するにはどうすればよいですか?

  29. 29

    PostgreSQLでネストされたjsonb配列を検索する

ホットタグ

アーカイブ