ホームページ >バックエンド開発 >Golang >MongoDB 集計上の日付ごとのアイテム数を取得する

MongoDB 集計上の日付ごとのアイテム数を取得する

王林
王林転載
2024-02-06 10:36:04423ブラウズ

检索 MongoDB 聚合上每个日期的项目计数

#質問の内容

イベントを含むコレクションがあります。各イベントにはミリ秒単位の正確なタイムスタンプが付いています。日々の出来事をグループ化したい。 例えば:### ###私は持っている### リーリー ###私はします### リーリー

最終的な目標は、Golang プロジェクトでクエリを使用することです。

これまでのところ、私は

リーリー ###戻る### リーリー

これは機能するはずでしたが、Go プロジェクトでこのクエリを作成すると、「$datetostring」の下に赤い波線が表示され、「フィールド名が無効です」というメッセージが表示されます。理想的には、日付に「時刻」を含める必要があります。 「_id」の代わりに「」キーを使用します。グループステージ中に次の変更を加えた場合:

リーリー

不明なグループ演算子 '$datetostring' エラーが発生します。そこで、グループを作成してから「$datetostring」の項目ステージを追加することを考えましたが、グループステージはミリ秒ごとにグループを返すため、グループ化の目的が無効になります。

私は 2 つの異なる問題について議論していることに気づきました。ただし、どんな助けでも素晴らしいですが、この質問は特に mongo クエリの修正に関するものです。必要に応じて、別のスレッドで golang コーディングに戻ります。 より明確にできる場合は、お知らせください。

正解

まず、クエリ結果を表示するアプリケーション ui がある場合は、クエリで出力をフォーマットする必要はありません。これはアプリケーション UI の責任です。ところで、アプリケーション UI がある場合は、

$datetostring

の代わりに

$datetrunc
を使用することを検討してください。

とにかく、質問の要件に関しては、次のような
$project

ステージが機能するはずです: リーリー mongodb シェル出力: リーリー Go プロジェクトでのクエリの使用については、次のデモを参照してください:

リーリー

以上がMongoDB 集計上の日付ごとのアイテム数を取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。