問題タブ [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 投票する
0 に答える
966 参照

node.js - モンゴでアトミック集計の読み取りと更新を実行しますか?

以下の形式のドキュメントがいくつかあります

last_usedフィールドを使用してaggregateクエリ内で並べ替え、最後に使用されたドキュメントが最初に提供されるようにします。以下のクエリを使用して、集計の後に使用updateOneして、最後に使用されたフィールドをバンプします。そのため、読み取りリクエストごとに last_used フィールドの日付スタンプが変更されます。

私が抱えている問題は、クライアントが 5 つの同時要求を行い、ドキュメント 1,2,3,4,5 を受け取る代わりに、たとえば 1,1,1,2,2 を取得することです。

これは、読み取りと更新の間にロックがないためであると推測しているため、更新が実行される前に複数の読み取りが同じ結果になります。

これを回避する方法はありますか?

以下の集計 nodejs コードで更新します

問題は、複数の同時要求を発行する同じクライアントから複数の読み取り要求が来ることです。つまり、それらは同時に db にヒットし、起動する前に同じデータを読み取りupdateOneます。

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

mongodb - MongoDB Aggregation コマンドから Java コードへ

これは私のmongodbシェルコマンドです:

これは正常に動作します。

この MongoDB コマンドを Java で実行する必要があり、Java ドライバーで MongoDB Aggregation フレームワークを使用するためのヘルプが必要です。

Java ドライバーを使用してこのコマンドを実行しようとすると、次のようになります。

例外をスローし、

エラーを見つけるのを手伝ってください。または、Java ドライバーを使用してこのコマンドを実行するための正しいコードを教えてください。

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

javascript - mongodb集計フィルターとnodejsのカウント

「ポイント」という名前のこのコレクションがあります

そして、「ストリーム」という別の名前があります

email文字「o」を含む検索対象の集計クエリを実行する必要があります。私が期待する結果はこれです

私はすでにこれをやった

私がmysqlにいた場合、クエリはこれになります

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

mongodb - Mongodb concat が集計で機能しない

私のクエリでは、concat キーワードが機能していませんnull

ここにクエリがあります:-

クエリ出力は次のとおりです。

日付型としてのmongodbのcreatedOnフィールドデータストア、つまり、

ここに画像の説明を入力

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

mongodb - あるクエリの出力を使用して、Mongo シェルで別のクエリを実行する

Mongo シェルでクエリを実行していますが、2 番目のクエリを実行するには、このクエリの出力が必要です。最初のクエリは、平均を求める集計クエリです。

最初のクエリは次のとおりです。

出力の を使用して、_id (userId)ユーザー テーブルからデータをフェッチします。

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

mongodb - Mongodb は、単一の集計で複数のグループ演算子を使用します

さまざまなフィールドの数を取得するために mongodb 集計を使用しています。コレクションからいくつかの文書を以下に示しmobileます:-

私は見つけmanufacturerrating数えることができますが、これは失敗します:

出力:-

予想される出力のようなもの:-

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

javascript - Mongodb 集計、$group _id の式で変数の値を使用

ドキュメントを 2 つのフィールドでグループ化しようとしていfield1ますfield2

これは正常に機能し、期待される結果が得られます。

しかし、上記をループで再実行したいのですが、実行ごとに異なる$field2. ありがとう

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

mongodb - MongoDbはすべてのレコードを選択し、配列ベースで並べ替えます

mongoDb では、「$queryResult」に記載されている結果を集計で達成しようとしています。コレクションからすべてのレコードを選択し、それらを配列で並べ替えたいと考えています。

データベースに記録

クエリの順序

望ましい結果

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

ruby-on-rails - Mongo DB、冗長データの削除、コレクションから重複した一意のインデックスを削除する方法

冗長なデータを持つコレクションがあります。

サンプルデータ:

クエリを実行しました:(allowDiskUse:trueデータが多いため使用する必要があります)

この出力が得られます:(たとえば)

ここでの問題は、データを 1 つだけ保持したいということです。冗長データをすべて削除したい。100,000 件を超えるレコードなど、大量のデータがあることに注意してください。Ruby on Railsを使用しているため、mongodbまたはRoRで迅速かつ簡単なソリューションを探しています。

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

mongodb - UNIX時間とカウントによるMongoDBグループが機能しない

次のようなドキュメントがあります。

特定のアプリケーションの訪問者数をカウントしようとしています。64 個のフィールドがあり、クエリは次のようになります。

いくつかのグループを探していますが(異なる日のデータがあるため)、次のように返されます。

ここで間違っていることはありますか?