1
私はMongoDB集約を実行して、Javaドライバを使用して単一のコレクション内の個別のネストされたドキュメントを取得しようとしています。MongoDB Java集計 - addToSet複数のフィールド
Java Accumulators.addToSetドキュメント出力に複数のフィールドを追加するにはどうすればよいですか? MongoDBのシェルで例えば
この作品:
db.systems.aggregate([{$unwind:"$planets"},{$group:{_id:"$surfaceType", distinct:{$addToSet:{radius:"$planets.radius", surfaceType:"$planets.surfaceType"}}}}])
出力: planets:[{ "radius" : 10.0,"surfaceType" : "water"},{"radius":"100.0","surfaceType" : "rock"}, ...]
をしかし、Javaでは、これは動作しません。
collection.aggregate(Arrays.asList(Aggregates.group("$surfaceType",Accumulators.addToSet("planets", {radius:"$planets.radius", surface:"$planets.surfaceType", ...}))));
ただ、かなりのために必要な構文を理解しませんaddToSetの文字列式
おかげ
あなたはaddToSet
オペレータに文書を渡すことができ
おかげでchridam - 必ずしも容易では何か – Dusted