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

java - MongoDB 3.2ドキュメントにオブジェクトを挿入するには?

私はUser

また、私は単純なPOJOを持っていますComment

次のように、彼に関する何らかのコメントを付けて、新しいユーザーをコレクションに挿入する方法:

残念ながら、例外があります:

MongoDB の Java ドライバーがオブジェクトを変換できず、Document何らかのコンバーターが必要であることを理解しています。CodecCodecRegistryおよびCodecProviderインターフェースについても知っています。ところで、オブジェクトを mongo ドキュメントに変換する簡単な方法はありますか? どうすればそれを行うことができるか例を示してもらえますか? ありがとうございました。

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

mongodb - 正規表現を使用したMongo dbでのネストされた配列検索

ネストされた配列を検索するためのクエリは次のとおりです。

次の正規表現 Array1.field1.nestedArray1.content を使用してみました

しかし、私は適切な結果を得ることができません..上記のクエリは正しい形式ですか?

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

java - ドキュメント構造を変更したときに、mongoDB Java ドライバーで既存のドキュメントを更新する

プログラムの以前のバージョンからのいくつかの既存のフィールドを持つプレーヤーデータのデータベースがあります。古いドキュメントの例:

しかし、新しいバージョンで生成されたプレーヤー ドキュメントは次のようになります。

問題は、クエリを実行しようとすると、playercurrencyが存在しないfooために NullPointerException が発生することです。に保存できる他のデータを邪魔することなく、フィールドをに追加したいと考えています。例を使用していくつかのコードを試しました:playercurrencyfooplayercurrencyfoofoo$exists

私の考えでは、それplayercurrencyが存在しないという理由だけで更新され、存在するために放置されるというplayernameことです。これは私の最初の MongoDB プロジェクトの 1 つであり、できる限り多くのことを学びたいので、exists をひどく間違って使用している可能性があります。

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

java - MongoDB接続がJavaで確立されているかどうかを確認するには?

私のアプリでは、MongoDB 3.2.4 がカスタム ポートで実行されます。アプリがカスタム ポートで MongoDB にアクセスしようとし、失敗した場合はデフォルト27018ポートを使用するロジックを実装したいと考えています。

そのために、次のコードを使用します。

問題は、この例外がキャッチされないことです。ただし、MongoDB は次の例外をスローします。

com.mongodb.MongoSocketOpenException: com.mongodb.connection の com.mongodb.connection.SocketStream.open(SocketStream.java:63) でソケットを開いているときに例外が発生しました。 DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:128) at java.lang.Thread.run(Thread.java:745) 原因: java.net.ConnectException: 接続拒否: java.net.DualStackPlainSocketImpl.waitForConnect(Native で接続) Method) で java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) で java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) で java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) で java. net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) で java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) で java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) で java.net.Socket.connect(Socket.java) :589) com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:50) で com.mongodb.connection.SocketStream.open(SocketStream.java:58) で ... 3 詳細

私のtry-catch式はこの例外をキャッチできません。

キャッチするなど、複数のアプローチを試しました。

  • Exception
  • RuntimeException
  • MongoSocketOpenException
  • MongoException
  • MongoCommandException

それらのどれも機能しません。

私の質問:

  1. MongoDB 接続が確立されているかどうかを確認するにはどうすればよいですか?
  2. どうすれば例外をキャッチできますMongoSocketOpenExceptionか?
0 投票する
1 に答える
93 参照

mongodb - javaドライバーを介してmongo dbにアクセスしているときに、読み取り時のソケットタイムアウトにより接続も閉じられますか?

Javaドライバー(v2.10)を介して(春のデータを介して)mongo db(v2.6)にアクセスしています。アプリケーションがソケット タイムアウト例外を受け取った場合、基になる接続も閉じられていますか?

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

java - MongoDB 3、Java ドライバー、全文検索、方法

mongodb 2 で Java ドライバーを使用して全文検索を使用する方法を確認できます。

mongodb 2、全文検索でJavaドライバーを使用する方法

しかし、mongodb 3 ではこれは機能しません。Java ドライバー/mongodb 3 で全文検索を行う方法を知っている人はいますか?