mongodb - mongo 集約クエリのグループ化、最大値の検索
phpcn_u1582
phpcn_u1582 2017-05-17 10:02:55
0
1
872
  1. 誰もが私の言いたいことを理解できるように、最初に事例を紹介しましょう:

リーリー

上記のリンクは通常の sqlgroup クエリですが、現在発生している問題は、mongo を使用してグループ クエリを実行することです

集計クエリは本当にひどいです。シミュレートされたデータは次のとおりです:
(データを許してください。彼は自由で自由です)

リーリー

要件は次のとおりです
deviceType 分類に従って、各カテゴリの最新バージョン番号を取得します

私が望む結果は次のとおりです

リーリー

以下のステートメントは私が書いたものですが、多くの問題があります
書いたことはできましたが、期待した結果が表示されませんでした

リーリー

1._id をオブジェクトにマッピングすることはできません
2.version をグループに書き込むことはできません

この構文が本当にわかりません
結果

リーリー
phpcn_u1582
phpcn_u1582

全員に返信(1)
某草草

_id当然映射不到真正的_id上,这里的_id指的是group的key。
不清楚你的versioncreation是什么关系,creation比较大的文档version一定是比较新吗?如果这个条件成立的话,可以这样做:

db.question.aggregate([
    {$sort: {creation: -1}},
    {$group : {_id :"$deviceType", version : {$first : "$version"}}},
    {$project: {deviceType: "$_id", version: "$version"}}
]);

$firstgroup之后取第一个元素。而事先已经按creation排好序,所以第一个即是最新的元素。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!