問題タブ [aggregation-framework]

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 投票する
3 に答える
25505 参照

mongodb - $unwind空の配列

各ドキュメントが次の構造を持つユーザーのコレクションがあります。

フィールドsolvedは空であるか、任意の数のサブドキュメントを含む可能性があります。私の目標は、ユーザーのリストと、points問題をまだ解決していないユーザーに合計スコア0が割り当てられる合計スコア(合計)を取得することです。これは、単一のクエリでこれを行うことができますか(理想的には集計を使用)フレームワーク)?

集計フレームワークで次のクエリを使用しようとしました:

ただし、次のエラーが発生します。

前もって感謝します

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

java - JAVA ドライバーに変換された MongoDB 集計条件

私はMongoDBに比較的慣れておらず、現在、コレクション内の情報に対する「ほとんどのタグの一致による検索」ソリューションに向けてJavaを使用しています。

MongoDB シェル操作を JAVA ドライバー バージョンに変換しようとしています (この構文は、必要な定義の一部です)。

$cond:[{$eq: ["$tags", 200]}, 1, 0]

上記の文の正しい Java 実装はどれでしょうか?

前もって感謝します

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

performance - Mongodb Aggregation フレームワークは map/reduce よりも高速ですか?

集約フレームワークは mongodb 2.2 で導入されましたか? map/reduce よりもパフォーマンスが特別に向上していますか?

はいの場合、なぜ、どのように、どのくらいですか?

(すでに自分でテストを行っており、パフォーマンスはほぼ同じでした)

0 投票する
3 に答える
2248 参照

mongodb - MongoDb - 「結合」または $in 2 つのコレクション

2 つのコレクションがあるとします。

一部の女性は特定の仲間に属していますが、一部の女性はそうではありません。上記の場合、女性はフェラに属しています。

どのフェラにも属さないすべての女性を見つけるにはどうすればよいですか? $unwind を使用してそれを実行しようとしましたが、うまくいきませんでした。つまり、私はさらに何をすべきかわからないということです。

あなたのアイデアは?

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

mongodb - アグリゲーションフレームワークパイプラインの配列サブセット

前の質問では、パイプライン操作を使用して結果のグループの数を取得したいと思いました。提案されたように、私は以下を使用しました:

カウントがわかったので、結果をページごとに表示したいので、のサブセットのみが必要になりdataます。私の最初の考えは、次のようなパイプライン内で使用$sliceすることです。data$project

しかし、$sliceはの有効な操作ではないようです$project。次の方法で回避策を試しました。

しかし、表示されているように、私は別の$unwindパイプラインを実行しました。私がやろうとしていることを達成するためのより良い解決策はありますか?

0 投票する
3 に答える
5311 参照

mongodb - MongoDB、集約フレームワークによるグループを使用して一意の文字列を取得

集約フレームワークを使用して、多くの文字列をグループ化し、一意のものを識別しようとしています。残りのフィールドに関する情報も保持する必要があります。これは、mysql で group by ステートメントで * 演算子を使用することに似ています。

集計フレームワークを使用してみましたが、一意のフィールドを取得するだけでうまく機能します。

それに付随する他のフィールドが必要な場合はどうなりますか。MySQL は、グループに最初に表示されたもののみを提供します (これで問題ありません)。それが $first 演算子が行ったと私が思ったことです。

このように、field1 でグループ化しますが、ドキュメントに添付された他のフィールドも表示されます。これを試すと、次のようになります。

私が感じているのは、集計全体を 1 つのドキュメントとして返すためです。別のjson配列として返すことはできますか?

前もって感謝します

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

mongodb - Mongodb : mapreduce/aggregation で配列値を数える

次の構造のドキュメントがあります。

そして、「アイテム」の総数をカウントする簡単な関数を構築しました。

しかし、約 100 万個のアイテムの後、関数が壊れ、Mongo が終了します。新しい集計フレームワークと mapreduce 関数を調べましたが、このような単純なカウントにどちらを使用するのが最適かわかりません。

提案を歓迎します! ありがとう。

0 投票する
3 に答える
59015 参照

mongodb - MongoDBの条件付き$sum

mongodbの私のコレクションは、SQLの次の表に似ています。

センチメント(会社、センチメント)

次に、次のようなクエリを実行する必要があります。

このクエリをMongoで作成するにはどうすればよいですか?私は次のクエリで立ち往生しています:

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

php - PHP ドライバーを使用した MongoDB 集計クエリ

MongoDBMongoDB シェル経由で実行できる集計クエリがあります。PHPただし、公式のMongo ドライバー (http://php.net/manual/en/mongocollection.aggregate.php)で動作するように変換しようとしています。

以下は、未処理の MongoDB クエリです。

Mongo ドライバーを使用する際の私の試み(動作していません)は次のとおりです。PHP

上記の PHP コードのエラーは次のとおりです。

何か案は?ありがとう。

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

php - PHP を使用した MongoDB 集計 - 日付でグループ化

aggregatein MongoDBwithを使用していPHPます。コードは次のようになります。

これに関する問題は、$dayOfYear2、3、345、346 の順に並べ替えられるため、正しく並べ替えられないことです...日付の昇順にする必要があります。したがって、基本的には単に行うのではなく、次の$dayOfYearようなものが必要です$year-$month-$dayOfMonth

残念ながら、これは機能しません。何か案は?

ありがとう。