問題タブ [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 - 1回のクエリでmongoから複数のドキュメントを見つけて削除する方法
java mongo ドライバーには、クエリで指定されたドキュメントを検索して削除する findAndRemove メソッドがあります。私の問題は、コレクションから指定された (たとえば 100) 数のドキュメントを見つけて削除する方法です。それは次のようなものになります
ここで、objects は削除されたオブジェクトのリストです
persistence - EclipseLink NoSql JBoss AS 7.1.1.Final による MongoDB 永続化
JBoss AS 7.1.1.Final で MongoDB に EclipseLink NoSql Persistence を使用しようとしています。
私は EntityManager を次のように使用しようとしています:
ここに私のpersistence.xmlがあります
ここで指定された手順を使用して、JBoss インストールに EclipseLink モジュールを追加しました。また、EclipseLink modules.xml の依存関係として javax.resource.jar を追加し、javax.resource の JBoss モジュールを作成しました。モジュールを JBoss に追加する必要を回避し、代わりに私の戦争に入れる方法があれば、私に知らせてください。
ここに私が直面している現在の問題があります.javax.resource.jarをロードしていることを知っているので奇妙です(以前はそれなしで別のエラーが発生しました)、欠落しているjavax.resource.cci.ConnectionFactoryクラスがそこにあります.
java - Java ドライバーを介して MongoDB で複合インデックスを作成する方法は?
Javaドライバーを介してMongoDB上Age
およびMongoDB内に複合インデックスを作成したいのですが、私の構文は次のとおりです。Name
しかし、複合インデックスではなく1つのインデックスのみを作成し、結果を次のようにします:
では、コレクションの複合インデックスを Java ドライバーを介して作成するにはどうすればよいでしょうか?
mongodb-java - Java MongoDB クライアントと MongoS シャーディング
ServerAddresses のリスト (この関数を使用) を使用して Java で MongoDB へのレプリカ セットへの接続を作成するとReadPreference.SECONDARY
、クライアントはレプリカ セット全体で読み取りのバランスを取り、ラウンドトリップ時間が短いノードを優先することを知っています (同じコロなど)。
しかし、MongoS サーバーの束に MongoDB クライアントを作成するとReadPreference.SECONDARY
、すべての読み取り/書き込みは、アクセスがクロスコロであり、MongoS が同じコロに存在する場合でも、リストの最初のサーバーに移動します。
たとえば、3 つの MongoS サーバー (SF1、SF2、および NYC1 (この順序)) がある場合、クライアントは、SF にあるか NYC にあるかに関係なく、SF1 とのみ通信します。
MongoS サーバーと通信するときに、クライアントを設定するために何か構成する必要があるか、別の方法がありますか? 私は何が欠けていますか?
mongodb - Hdfs から MongoDB へのテキスト ファイルの読み込み
map-reduce Java プログラムを使用して HDFS から MongoDB にテキスト ファイルをロードしようとすると、次のエラーが発生します。
同じ方法でmongoDBからmongoDBにデータをロードする別のコードを実行しているとき、次のコードを実行しています:
java - 同じフィールドを2回クエリするSpringMongo基準
springを使用してmongodbにクエリを実行しようとしています。ツリーを保持するコレクションがあり、ツリーパスとしてアイテムのリストが含まれています(ツリーを簡単にトラバースできるように)。特定のノードのすべての子ノードを返す必要があるクエリがあります。このクエリは、パスにノード(親)があり、親(レベル)より1レベル低いすべてのノードを選択することに基づいています。私たちの基準は次のとおりです。
残念ながら、これをmongodbで呼び出すと、次の例外が発生します。
org.springframework.data.mongodb.InvalidMongoDbApiUsageException:com.mongodb.BasicDBObjectの制限により、「treePath:{"$ size":2}」として指定された2番目の「treePath」式を追加することはできません。基準にはすでに'treePath:{"$ in":["50137df5f49f9b4a6481d639"]}'が含まれています。
同じことを達成する方法について他の提案はありますか?私が考えていたオプションの1つは、mongodbに直接クエリを実行することでした。私は試した
ただし、これは最初のレコードのみを更新するため、すべてを更新する必要があります。
ありがとう!
java - DB.eval() と Mongo Java ドライバー
Mongo で実行するスクリプトをいくつか用意しました。コマンドラインから期待どおりに動作します:
しかし、Java(scala)コードで移動しようとすると、動作しません
DB.eval() メソッドで成功する人はいますか?
java - Java結果137の解決
Amazon ec2 で Java プロセスを実行しています。72分間実行した後、突然「Java結果137」が表示されました。以上で、例外やその他のエラー メッセージは表示されません。このエラーを検索しましたが、役に立つものは見つかりませんでした。その原因と解決方法は何ですか?私にお知らせください。
java - MongoDBのcursor.count()とcursor.size()の違い
cursor.count()
MongoDB のとcursor.size()
メソッドの違いは何DBCursor
ですか?
mongodb - Java ドライバーを使用しているときに MongoDB レプリカ セットが初期化されていないことを検出するにはどうすればよいですか?
MongoDB レプリカ セットがまだ初期化されているかどうかを検出したい (そのため、「レプリカ セットを初期化するのを忘れました」などのエラー メッセージをユーザーに表示できます)。レプリカ セットが Java Mongodb ドライバーを使用して初期化されているかどうかを検出することは可能ですか? 私が見つけた最も近いものはcom.mongodb.Mongo.getReplicaSetStatus()
- ですが、セットが初期化されていないかどうかはわかりません。