問題タブ [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.
java - MongoDBに複数のサブドキュメントを追加する
私は、顧客が複数のアドレスを持つことができる顧客データローダーに取り組んでいます。顧客が見つからない場合は、顧客を作成して住所を追加します。顧客が存在する場合は、次のように新しいアドレスを追加するだけです。
これは、新規のお客様に有効です。問題は、顧客がすでに存在する場合、新しいアドレスが既存のアドレスを上書きすることです。
複数のアドレスを保持できるように、新しいアドレスを顧客に追加するにはどうすればよいですか?
私が見つけたものから、私はシェルを介した「プッシュ」でこれを達成できるはずです。しかし、BasicDBObjectのメソッドとして「push」は表示されません。
java - Java JAR に正しい依存関係が含まれていません
パッケージを含むheremongodb-java-driver
の依存関係を持つJavaプロジェクトの uberjar を作成しようとしています。com.mongodb.*
現在、 leiningen バージョン2.0.0-preview4
と1.7.1
、および mongodb-java-driver バージョンを使用してみ2.7.3
ました。私の project.clj 依存関係は次のようになります。
コマンドの実行中lein clean && lein uberjar
に、次の出力が表示されます。
uberjar を実行すると、次のエラーが表示されます。
どうやら、以前のバージョンの leiningen では、実行時に .class ファイルを削除する際に問題があったようです。この問題の影響を受けるバージョンを使用していないと思います。
com.mongodb.* 依存関係を含む uberjar を作成するにはどうすればよいですか?
mongodb - JavaScriptシェルのObject.bsonsize( doc )に相当するJavaドライバ?
Mongo JavaScript シェルの Object.bsonsize( doc ) メソッドに相当する Java ドライバーは何ですか? たとえば、次のことを実行するための Java コードは何ですか。
MongoDB Java ドライバーを使用して、これと同じ基本的なユース ケースを実行するにはどうすればよいですか。JavaDocs では明らかではありません。
mongodb - MongoDB $push 演算子は埋め込みドキュメントを追加する方法ですか?
MongoDB と Spring 3 を使用しています。次のドメイン オブジェクトがあります。
に を追加したいのですがPost
、User
それを行うための最良/最も効率的な方法は何ですか? プログラムでこれを行う方法を確認できます-ユーザーを見つけ、新しい投稿オブジェクトをリストに追加し、ユーザーを再度保存します-しかし、これは非常にエレガントまたは効率的ではないと思います。
ドキュメントから、オペレーターを使用する必要がある$push
ようですが、Spring の MongoTemplate でこれを行う方法の例が見つからないようです。誰でも例を挙げてもらえますか?
java - 待たずに複数のmongodbコレクションを作成することはできません
このコードを使用する場合:
実行前#1:データベースが存在しないデータベースが存在する場合でも、db.dropDatabase()を使用してコンソールから削除されます
実行#1の後
- 2つのコレクションではなく、1つのコレクションしか表示されません
- 「UserProfile」コレクションが作成され、1つのオブジェクトが含まれます
- 「会社」コレクションは作成されません
実行#2の後:
- 両方のコレクションが表示されます
- 「UserProfile」に2つのオブジェクトが追加されました
- 「companies」コレクションが作成され、1つのオブジェクトが含まれます
変だと思った
そこで、forループを変更して10秒の待機を含めました
私はデータベースをクリーンアップしてこのコードを実行しましたそしてそれが2つのコレクションの作成に成功するたびに(時間がかかります...しかし仕事をします)
私は何かが足りないのですか?待つべき非同期操作がどこかで起こっていますか?
次のコレクションを作成しないためのより良いハックを知っています...最初のコレクションの存在が認められるまで
このコードは常に実行されるわけではありません...アプリが初めて初期化されるときのみ...デフォルトのデータベースを作成し、コレクションの束をセットアップする必要があります
ありがとう
注:質問をするときに改行を挿入するにはどうすればよいですか...
MongoDBバージョン:2.0.6 Windows 64ビット(現在の製品リリース)Javaドライバー:2.7.3
mongodb - 再コンパイル後にデータベースに最初にアクセスしたときにソケットタイムアウトが発生するのはなぜですか?
私はplayframework2.0を使用していますが、再コンパイルするたびに、アプリが最初にデータベースにアクセスしようとしたときにソケットタイムアウトが発生します。Mongoドライバーを直接使用しています。典型的なスタックトレースは次のとおりです。
そして、これが私の初期化コードです:
getDB
クラスの外部からメソッドを使用してdbを取得します。このメソッドは、mongoシングルトンが存在しない場合に作成することを目的としています。私は常に認証成功printlnを取得しますが、データベースへの最初のヒットで、ソケットタイムアウト例外が発生します。
Globalクラスでは、アプリケーションを閉じたときにデータベースへの接続を閉じます。
何か案は?
mongodb - GridFS Java オブジェクトはスレッドセーフですか?
Java com.mongodb.Mongo オブジェクトがスレッドセーフであることは知っていますが、それから返されたデータベースを使用して GridFS オブジェクトを作成すると、その GridFS オブジェクトもスレッドセーフになりますか?
ありがとう。
mongodb - MongoDB Java Driverを使用してGridFSファイルを日付でソートする方法は?
GridFS API.sort
には、DBCursorオブジェクトに似た機能がないようです。
uploadDate
(または他の GridFS メタデータ フィールド)で並べ替える方法はありますか?
mongodb - ASCII文字列をバイトに変換することでMongodbインデックスのスペースを節約できますか?
キーフィールドとして言語コードを持つオブジェクトがたくさんあります。JavaとMongodbはどちらもUTF-8をネイティブに使用し、言語コードはASCIIであるため、文字ごとに1バイトと\0ターミネータを使用する必要があるようです。したがって、言語コード「en」は、BSONオブジェクトとインデックスで3バイトしか使用しない必要があります。
これは正しいです?フィールドを次のようなバイト配列に変換して何かを保存するかどうか疑問に思っています。
JavaドライバーでMongodbに保存する前に?
mongodb-java - Javaでmongodbキャップ付きコレクションを作成する
Java コードから上限付きコレクションを作成したいと考えています。JavaScript で作成するための構文は見つかりましたが、Java の例は見つかりませんでした。