問題タブ [mongo-java-driver]

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

mongodb - JAVA を使用した MongoDB での順序付けされていない一括更新

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

{_id:1001, "title":"abc", "author":"xyz"}

そのような 100 万件のドキュメントの作成者を更新する最良の方法は何ですか? MongoDBの順序付けられていない一括更新について知りました。Mongo の Java ドライバーを使用してそれを実装する方法。

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

java - Java mongoドライバーを使用してJavaでmongodbクエリを実装する

以下のmongoクエリを使用して最大温度を取得しています。とを使用してmongo Javaドライバーを使用してJavaで実装する方法を手伝ってくれる人はいます BasicDBObjectDBObject?

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

mongodb - MongoDb Java ドライバー - MongoException$Network: サーバー localhost:27017 への読み取り操作が失敗しました

先週、断続的に以下のエラーが発生し始めました。これまでのところ、この問題を特定することはできませんでした。問題のクエリは、約 40 万のオブジェクトを持つコレクションへの集約です。さまざまなクライアントで同じアプリケーションを実行していますが、400k マークを超えたクライアントで発生し始めました。クエリを直接実行したところ、約 1.5 秒かかりました。別の集計の結果を繰り返し処理しているときに、まったく同じ例外が発生しました。


何か案は?

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

mongodb - MongoDB GridFS で制限クエリを効率的に実行する方法

n ファイルの制限を含む MongoDB GridFS に対してクエリを実行する効率的な方法を見つけることができないようです。

これが私が試したことです。

これに関する問題は、実際には 21 のクエリ操作が発生することです。

1 つ目は、実際に DBCollection.find() を呼び出す getFileList() です。

次に、結果ごとに findOne() が発生し、最終的に DBCollection.find({"filename":filename})10回が呼び出されます。

その後、入力ストリームで read を呼び出すと、すべての10ファイルのチャンク コレクションで findOne("files_id":id) が呼び出されます。


GridFS.find() では、ファイル コレクションを照会し、各 DBObject を GridFSDBFile に変換し、その (fs) 変数をthis(GridFS) に設定していることに気付きました。(これはすべて injectGridFSInstance(Object) を介して)

getFileList() 操作でこれも同様に実行された場合、すべて問題ありませんが、標準のカーソルが返されるだけです。DBObject を GridFSDBFile にキャストできますが、InputStream で read を呼び出そうとすると、GridFS インスタンスが定義されていないため、チャンクを取得するために必要な情報がないと不平を言います。

fs 変数を設定できるようにしたいのですが、それはプライベートです。


結論:

クエリ操作の数を 2 倍にする必要がない .limit(n) を含む GridFS でクエリを実行する方法はありますか。

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

java - MongoDB Java 3.0 ドライバーを使用した一括 Upsert

以前のバージョンの MongoDB Java ドライバーでは、クエリを実行し、結果に対して順序付けされていない一括 upsert を実行するには、次のことを行うだけでした。

しかし、バージョン 3 では、Bson ドキュメントのサポートと MongoCollection.bulkWrite() メソッドの導入により、これをどのように行うことができるでしょうか?

私はこれを試しました:

しかし、アップサート機能が必要です。

ありがとう。

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

json - RDBMS ドライバー方式で MongoDB クエリを実行する方法

RDMS で「empid=100 の従業員から emp_name を選択」を実行する必要がある場合。私はこれをするだろう、

"Employee.find({'empid:1000'},{emp_name:1}) のようなクエリを取得するMongoDBで同じことを行うにはどうすればよいですか

現在、これは私が使用しているコードであり、「where」と「select」の部分、つまり dbObj(where) と projectdbObj(projecttion Or select part) を別々に記述する必要があります。

コードの最適化にご協力ください。

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

java - Java クライアントで設定された Mongo レプリカに書き込むための最小構成

モルフィア初心者です。私は morphia と mongo-java-driver.jar を使用して、Java プログラムを介してレプリカ セット (クラスターに必要) と通信しています。以下のサンプルプログラムを書きました。

  1. すべてのノードでデータを安全に書き込みたい場合、必要な手順は何ですか?
  2. レプリカに設定する必要がある最小構成は何ですか?
  3. レプリカ セットが停止しているか有効であるか、読み取り可能かどうかを確認するために必要な検証とは何ですか?アプリまたはプログラムがマスターを見つけられない場合、どのように管理できますか?