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

MongoDB多次元配列プロジェクション

    集約フレームワークを使用できます:

    db.test.aggregate([
        { $unwind: '$arr' },
        { $limit: 1 },
        { $project: { _id: 0, arr: 1 } },
        { $unwind: '$arr' },
        { $skip: 1 },
        { $limit: 1 }
    ])
    

    返品:

    { "arr": 22 }
    

    編集: 元のポスターは、彼のニーズに合わせて私のソリューションを変更し、次のことを考え出しました。

    db.test.aggregate([
        { $match: { name:"Olivia" } },
        { $project: { _id: 0,arr: 1 } },
        { $unwind: '$arr' },
        { $skip: 1 },
        { $limit:1 },
        { $unwind: "$arr" },
        { $skip: 2 },
        { $limit: 1 }
    ])
    

    このクエリの結果は{ arr: 77 }になります OPによって提供される拡張データを前提としています。配列階層で適切な要素を選択するには、$skipと$limitが必要であることに注意してください。



    1. mongod.serviceの開始に失敗しました:ユニットmongod.serviceが見つかりません

    2. MEANスタック:関数の結果をデータベースに更新する方法は?

    3. AsQueryableメソッドは新しいMongodbC#ドライバー2.0rcで終了しましたか?

    4. MongoDB $ log