問題タブ [mongodb-java]

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 に答える
1868 参照

mongodb - MongoDB pythonバインディングはjavaよりも1桁遅いですか?

私はmongodb-userリストでこれと同じ質問をしました:http://groups.google.com/group/mongodb-user/browse_thread/thread/b3470d6a867cd24

私はこのフォーラムの誰かがいくつかの洞察を持っているかもしれないことを望んでいました...

PythonとJavaを使用してカーソルの反復のパフォーマンスを比較する簡単な実験を実行したところ、Pythonの実装が約10倍遅いことがわかりました。私は誰かがこの違いが予想されるかどうか、または私がPython側で明らかに非効率的なことをしているのかどうか教えてくれることを望んでいました。

ベンチマークは単純です。クエリを実行し、カーソルを繰り返し処理して、各ドキュメントの同じフィールドを検査します。Pythonバージョンでは、1秒あたり約22kのドキュメントを検査できます。Javaバージョンでは、1秒あたり約22万件のドキュメントを検査できます。

Pythonのパフォーマンスについて同様の質問をいくつか見てきましたが、アドバイスを受けて、C拡張機能を使用していることを確認しました。

最後に、この不一致は、少なくとも私のテストコードのレベルでは、PythonとJavaの根本的な違いによるものではないと思います。たとえば、クエリされたドキュメントをPythonリストに保存すると、そのリストをすばやく繰り返すことができます。言い換えれば、違いを説明するのは非効率的なpythonforループではありません。さらに、ドキュメントを挿入すると、JavaとPythonでほぼ同じパフォーマンスが得られます。

クエリの詳細は次のとおりです。

  • PythonとJavaの両方の実装は、同じコレクションで同じクエリを使用し、同じマシンで実行されます。
  • コレクションには約2000万のドキュメントが含まれています。
  • クエリは約200万のドキュメントを返します。つまり、コレクションの約10%を取得しています。
  • 各ドキュメントには、日付と2つの文字列の3つの単純なフィールドが含まれています。
  • クエリにはインデックスが付けられ、実際のクエリに費やされる時間は、PythonとJavaの両方の実装でごくわずかです。ランタイムを説明するのはカーソルの反復です。
0 投票する
2 に答える
39204 参照

spring-data - Spring Repository インターフェースで sort() および limit() を使用したクエリ

私は MongoDB で Spring Data を初めて使用し、フィルタリング、ソート、および制限を必要とする MongoRepository 拡張インターフェース内に自動的に生成されたクエリ メソッドを持ちたいと考えています。

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

リポジトリ インターフェイスは次のようになります。

並べ替えを取得するためにクエリ メソッドに Sort 引数を追加できることはわかっていますが、問題は結果を 1 つのオブジェクトだけに制限することです。カスタムの JobRepositoryImpl を書かなくても、これを行うことは可能ですか?

ありがとう

編集:

私が探しているものの例:

また

しかし、これは明らかに機能しません:(

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

java - Java-文字列をタイプなしのオブジェクトとしてMongoに保存する

私は持っています

Mongoでは、これは次のように保存されます

しかし、私はそれを次のように保存したいと思います

どうすればこれを変更して、このようにMongoに保存できますか?

私が挿入しようとしている「somestring」はJavascript関数です。

0 投票する
4 に答える
1713 参照

spring-data-mongodb - 春のmongoからdropDatabase

統合テストの前に、mongo にデータベースをドロップしたいと思います。春のmongoでこれを行うことは可能ですか?

今のところ利用できない場合は、com.mongodb.DB オブジェクトを春の mongo から何らかの方法でフェッチすることは可能ですか?

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

mongodb - mongodbのオブジェクトの配列内の値をカウントします

mongodbのツイートのコレクションにあるすべてのハッシュタグを収集しようとしています。各ハッシュタグがツイートに表示される回数をカウントしたいと思います。hcollは、このコードで作成されたハッシュタグのコレクションです。

ただし、このコードが同じツイートに対して2回実行されると、ツイートIDが配列に2回追加されなくても、カウンター「カウント」がインクリメントされます。

tweetidが配列「tweetsid」にない場合にのみ「count」の値をインクリメントする方法を探しています。しかし、2つ以上のクエリを使用してそれを行う方法を理解しているので、1つのクエリでそれが必要です。これが不可能な場合は教えてください。2つ以上のクエリでそれを実行します。ありがとう

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

mongodb - $pullまたは$popなしで配列内のn番目の要素を更新するにはどうすればよいですか?

配列内のn番目の位置要素の値を更新するにはどうすればよいですか?

category_idのインデックス2を更新したい。

1つの解決策は($popまたは$pull)と$addToSetです。

他に解決策はありますか?

0 投票する
19 に答える
248373 参照

mongodb - MongoDB のオブジェクトを部分的に更新して、新しいオブジェクトが既存のオブジェクトにオーバーレイ/マージされるようにするにはどうすればよいですか?

このドキュメントが MongoDB に保存されているとします。

外界param2との間の新しい情報を含むオブジェクトを保存する必要がありますparam3

param1 が削除されないように、新しいフィールドをオブジェクトの既存の状態にマージ/オーバーレイしたい

これを行う

MongoDB が要求されたとおりに動作し、some_key をその値に設定します。古いものを交換します。

MongoDB に新しいフィールドのみを更新させる方法は何ですか (1 つずつ明示的に記述せずに)? これを取得するには:

私はJavaクライアントを使用していますが、どんな例でも大歓迎です

0 投票する
10 に答える
70797 参照

java - SpringDataMongoDBの日付

春のデータmongodbを使用しています。

2つの日付の間のレコードが必要です。次のMongoDBクエリが機能します。

試行したSpringデータクエリオブジェクトコードの変換が機能しません:

必要なMongoクエリを構築するためのメソッド呼び出しの正しい順序は何ですか?

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

mongodb - 同じコレクションに格納されている複数のクラスを照会するSpring-Data mongodb

Spring-Data では、 @Document アノテーションを使用して、オブジェクトを保存するコレクションを指定できます。Student と Teacher の 2 つのクラスがあり、どちらも people コレクションに保持されているとします。次のコードを実行すると:

結果には Student と Teacher の両方が含まれます。Spring-Data によって作成されたデータを見ると、各ドキュメントには、永続化元のクラスを示す「_class」フィールドが含まれています。

これは、教師のみを返すためのフィルターとして検索で使用されないフィールドです。これを行う以外に、教師のみを照会するにはどうすればよいですか。

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

mongodb - Java での Mongo DB クエリ

Java を使用して複雑な mongo クエリを作成する必要がありますが、実行できません。

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

QueryBuilder クラスを使用して上記のクエリを作成する必要があります。どのような方法でそれを行うことができますか?

ありがとう