私はJavaのMorphiaライブラリを使用しています。私は成功した番組のタイトルの最初の文字で私にショー・グループのリストを与える次集計
db.shows.aggregate([
{$project: {
_id: 1,
title: 1
}},
{$group:
{
_id: {titleLetter: {$substr: ["$title", 0, 1]}},
count: {$sum: 1},
shows: {$push: "$title"}
}
},
{$sort: {_id: 1}}
]);
を実行することができたコマンドラインクライアント経由
。
モルフィアの公式docsには、DBObject
のAdvancedDatastore.createQuery
が含まれていますが、集合体には何も表示されません。
おそらく、私は、だから私が何かMorphiaにCLIクエリに変換することができますか何かにimport com.mongodb.*;
から少なくとも何か同様BasicDBObjectBuilder
アプローチ
DBObject group = BasicDBObjectBuilder.start().push("$group")
.add("_id", "{titleLetter: {$substr: [\"$title\", 0, 1]}}")
.get();
がある
BasicDBObject parse = (BasicDBObject) JSON.parse("{$group: { _id: {titleLetter: {$substr: [\"$title\", 0, 1]}}, count: {$sum: 1}, shows: {$push: \"$title\"} } }");
のようなものを使用しているJavaの理解する。
どのような方法でもこのクエリをJavaから実行することができませんでした。
私の質問は、cliの集約クエリをJavaのクエリに変換して最終的にJavaオブジェクトを返すきっかけになっていますか?
ありがとうございます。これは、優れた明確な答えです。このようなパイプラインを使うことは、JSONと同じように読みやすく、書くのが簡単です。ありがとう – Victory