Javaドライバを使用して集約フレームワークを使用してMongoDbクエリを変換しようとしています。私はここでクエリを作成するのに役立ちましたHow to apply filter for output of aggregation framework of Mongo Db?。ここで集計クエリをMongoDbからBasicDbObjectに変換するJava
は、サンプルの集計クエリです:
db.movies.aggregate(
[{
$redact: {
$cond: {
if: {$gt: [{ $avg: "$customerReviews"}, 7 ] },
then: "$$KEEP",
else: "$$PRUNE"
}
}
},
{$skip:1},
{$limit:2}
]
);
私が使用を開始:
BasicDBObject avgQuery = new BasicDBObject("$avg", "$customerReviews");
しかし、{$ GTを実行する方法を見つけ出すことはできません:[{$の平均: "$ customerReviewsを"} 、 7 ] }。私はgtQuery.put(avgQuery、new BasicDbObject( "$ gt"、7))のようなものでなければならないと思うが、明らかにput()関数にString以外のものを入れることはできない。
Btw、私は$ redactがBasicDbObjectのみを使って行うことができないか、またはSpring Mongoを使用するMongo spring query where two fields are equalのようなものが必要かどうか分かりません。誰かが私が全体のクエリを取得するのを助けることを願っています。