問題タブ [mongodb-aggregation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1968 参照

mongodb - Mongodb カウント オブジェクトの属性

という名前のコレクションがありconfigurationsます。コレクションにはconfigurations多くの企業があります。そして、各企業には、、、、がworkstationsあります。serversprintersphones

のスキーマconfigurations

そのような出力が欲しい

0 投票する
1 に答える
1214 参照

mongodb - Mongo は、$gte と $date を使用した集計でドキュメントを返しません

MongoDB (v3.2.8) では、バケット化された値が時系列で格納されています。私は現在、Morphia フレームワーク (v1.1.0) を使用してこれらのバケットからデータを集約しようとしており、ドキュメントの日付 (フィールド、以下のサンプルを参照) によってドキュメントを制限しています。

背景情報については、Morphia フレームワークを使用して MongoDB へのクエリを生成しています。日付を使用して Morphia と集計するとkpiIdasset.contract.id次の一致クエリが生成されます。

ただし、このクエリは、サンプル内のドキュメントが返されることを期待していたときに、コレクション内のドキュメントを返しません。クエリを以下のクエリに手動で変更すると、さらに奇妙になります。MongoDB からドキュメントを取得します。

最初のクエリが機能しないのはなぜですか? また、それが無効または不適切なクエリである場合、どのように Morphia を操作してクエリを正しく作成できますか?

更新: リクエストごとに、モルフィアにクエリを作成するように指示するために使用する関連する Java コードを追加します。

これはstartDateis 型java.util.Dateであり、 への呼び出しをCalendarUtils.truncateToDayUTC返すjava.util.Dateと、分、時間、秒が 0 に設定された a も返されます。

0 投票する
1 に答える
7316 参照

mongodb - mongodb - 他のコレクションの値の数を見つける

collectionOne以下の「taskId」がcollectionTwoにいくつ存在するか知りたいです。ここで、以下の collectionOne の「taskId」は、ドキュメント内の配列内に埋め込まれています。

また、これを行うためのさまざまなアプローチを教えてください(可能であれば)。

collectionTwo の "_id" は、collectionOne の "taskId" に相当します。

0 投票する
1 に答える
896 参照

mongodb - Golang で mgo を使用して次の Mongo 集計クエリを作成するにはどうすればよいですか

テストして動作する次のクエリがありますが、mgo

クエリは次のmgoようになります。

私の推測では、が機能して$filterいないということです。具体的には$setIsSubset、引数と引数を指定する方法は、その上の実際のmongoクエリと一致しません。そのセクション ( 内のすべて) を削除すると、$not(正しいフィルターではないことを除けば) 機能します。

基本的に、トップ クエリを mgo に変換する必要があります。

0 投票する
0 に答える
840 参照

mongodb - $avg は MongoDb クエリで値を返しません

Raspbian で NodeJs と MongoDb を使用しています。私はモンクをドライバーとして使用しています。データベースに次のようなドキュメントがあります。

このコードを使用して、グループ化および集計されたデータを取得しています。

クエリは機能し、1 日に多数のグループ化された結果が表示されます。私が得る答えはこのようになります

問題は、"$avg" が常に 0 であるのに、"min" と "max" が適切な結果を返すのはなぜですか。DB には約 50000 のサンプルがあり、値の範囲が非常に広いため (10 から 30)、正確に 0 になることはほとんどありません。

副次的な質問: "min" と "max" が結果として文字列を返すのはなぜですか? サンプルを見ると、値自体は有効に見えます。

OS、Node、Express、MongoDb はすべて 2016 年 8 月現在の最新バージョンです。

質問に答えるために編集してください。これは典型的な文書です:

値は明らかに文字列です。一部の値は実際の文字列であるため、すべてを数値に変換しても機能しません。しかし、$match で要求するフィールドについては、値が Number に変換可能であることが保証されています。

0 投票する
0 に答える
222 参照

mongodb-query - 複数のmongoドキュメントを単一に変換する方法

ドキュメントのコレクション全体から単一のドキュメントを取得したい。コレクションがあるとしましょう:

次のような単一のドキュメントを返すクエリが必要です。

ありがとう。

私のコレクションは十分に小さいので、BSON ドキュメントの制限は無視できます。

0 投票する
1 に答える
51 参照

mongodb - 同じコレクション内の特定のドキュメントの値に基づいて、すべてのドキュメントのフィールドを計算するにはどうすればよいですか?

私はMongoDbが初めてで、基本的な計算を達成しようとしています。以下のように、コレクション、計算があります

そのコレクション内のドキュメントのすべての値フィールドに "_id":1 の値を追加し、計算結果で新しいフィールドを作成したいと考えています。したがって、私が探している最終結果は以下のとおりです。

0 投票する
2 に答える
3150 参照

php - MongoDBの2つのフィールドの差の合計を取得するには?

私はすでに解決策を持っていますが、MongoServer ですべての作業を行う解決策を探しています (その方が高速でメモリ消費が少ないと思うため)

私は次のようなクラスメソッドを持っています:

aggregateMongoDB のメソッドを使用して 2 つのフィールドの差の合計を計算する方法はありますか? これを行う他のより効率的な方法はありますか?