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

MongoDBアグリゲート、グループパイプラインの配列の各要素をaddToSetする方法

    集計パイプラインで$each修飾子を使用して$addToSet更新演算子の機能を模倣するには、グループ化ステージでの$pushと投影ステージでの$reduce +$setUnionの組み合わせを使用できます。例:

    db.collection.aggregate([
        {$group:{
           _id: null,
           selectedTags: { $push: '$tags' }      
        }},
        {$project: {
            selectedTags: { $reduce: {
                input: "$selectedTags",
                initialValue: [],
                in: {$setUnion : ["$$value", "$$this"]}
            }}
        }}
    ])
    

    selectedTags内のすべてのドキュメントからのタグの個別のリストを含む単一のドキュメントで結果が得られます 配列。



    1. Dockerコンテナでmongodbシェルを開始する方法は?

    2. MongoDB ::Mongo IDはコレクション全体で一意ですか?

    3. MeteorとDBRefs

    4. mongodbを使用したnodejsでのロック/トランザクションによるドキュメントの読み取りと挿入