問題タブ [jongo]
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.
mongodb - MongoDB - Jongo - 集計によるフィールドの最大値
私のコレクションには、このタイプのドキュメントがあります。バージョンを持つ多くのコンポーネントを保存します。
}
コンポーネントの最新バージョンを取得する方法を探しています。つまり、同じ所有者/名前を持つすべてのコンポーネントの最新バージョンを取得します。
この集計で結果を得ることができますが、結果は整形式ではありません:
この集計で結果を取得できますが、完全なドキュメントを返すにはどうすればよいですか? (.find() と同じ)
データを Jongo でマップしているため、この集計結果を処理するのは簡単ではありません...結果はドキュメント クラスにマップされません。手動でearth値をバインドする必要があります...
ありがとう
java - MongoDB での POJO マッピングに最適な Java ライブラリ
私はしばらくの間 (2 年以上) Morphia を使用してきましたが、MongoDB 2.6 以降のバージョンの新機能を組み込むために、ライブラリで多くのことは行われませんでした。Github での活動を見ていると、9 月の初めからあまり動きがなく、MongoDB 2.6 の新機能を含むより優れたライブラリがあるのではないかと考え始めています。
以下は、私が現在 Morphia に欠けている機能の一部です。
- 干し草の山インデックスなどとの球面交差の地理空間クエリを作成するための GeoJson オブジェクトのラップと処理。
- 類似オブジェクトを 1 つのコンテナーに格納するための Java クラスのポリモーフィズム処理 (特定のオブジェクト タイプの可能性あり)
- 大量のテキストを含む冗長オブジェクトでのテキスト検索
私はSpring Mongo DBを見てきましたが、Springをフレームワークとして使用していません。私は標準の Java EE 6 を使用しているため、Spring スタックをプロジェクトに追加することに熱心ではありません。Jongo ライブラリはシンプルに見え、オブジェクトをマーシャリングするために Jackson を中継します。しかし、それは私が望むよりもテキスト クエリ インターフェイスであり、地理空間機能がどれほど優れているかはわかりません。
上記の問題が近い将来に修正されるかどうか、誰かが知っているか、内部情報を持っていますか?
java - Jongo MongoDB: デフォルトの ReadPreference を指定する方法
を使用して各クエリの readPreference を設定できることを認識しています<collection>.withReadPreference(primaryPreferred()).find(...)
。ただし、可能であれば「最も近い」を使用するようにグローバルなデフォルトの readPreference を設定し、必要に応じて個々のクエリでこれをオーバーライドできるようにしたいと考えています。Jongoを使用してこれを行うための可能な/推奨される方法はありますか?
編集: Jongo は を使用しMongoClient().getDB()
て初期化されるため、ReadPreference を指定するオプションを使用して MongoClient を初期化するのに適していますか? 私が求めているのは、このようにすると、これらの設定が引き継がれ、Jongo 内で適用されるのでしょうか、それとも Jongo で直接処理する別の方法があるのでしょうか?
ありがとうございます。
java - Jongo で $group 集計を使用する
Jongo を使用して、Java で MongoDB にクエリを実行しています。私の質問は、「合計をクラス属性に保存するにはどうすればよいですか?」です。
私はクラスOffersByPostalCodeを持っています
SO、私は DB にクエリを実行し、Jongo を使用して postalCode でオファー グループを取得しようとしています。クエリは次のとおりです。
問題は、クエリから結果を取得すると、postalCode がありますが、postalCode によるオファーの合計であるオファー属性が常に NULL であることです。MongoDB シェルでは問題なく動作します。
java - Mongo ドライバーを使用して Java から MongoDB プライマリ/マスター レプリカ セット メンバーに書き込む際のエラー
アプリケーションをより分散されたアーキテクチャに移行する際に問題が発生しています。具体的には、最近、すべてのメンバーが仮想クラウド内のローカル サブネットを使用して通信する MongoDB replicaSet にアプリケーションを移行し始めました。プライマリからセカンダリに書き込まれたデータを伝播する限り、replicaSet は正常に機能します。主に読み取り操作を実行する 2 つの Java アプリケーション サーバーがありますが、場合によっては書き込み操作も実行する必要があります。Java アプリケーション サーバーをホストする各サーバーには、ローカルで実行される独自のセカンダリ mongodb インスタンスも含まれます。
具体的には、私が抱えている問題は、Jongo でラップされた MongoDB ドライバーを使用する Java に関するものです。レイテンシが最小になるため、ローカル マシンで実行されている mongodb インスタンスから通常読み取る必要があるものMongoClientOptions.Builder()
を設定するために使用しています。readPreference(ReadPreference.nearest());
とにかく、読み取り操作はこれら 2 つの Java サーバー間で問題なく機能し、rs.status()
コマンドは正常な構成を返します。
書き込み操作を実行しようとすると失敗し、次のエラーが表示
{"timestamp":1427131553387,"status":500,"error":"Internal Server Error","exception":"com.mongodb.CommandFailureException","message":"{ \"serverUsed\" : \"localhost:27017\" , \"note\" : \"from execCommand\" , \"ok\" : 0.0 , \"errmsg\" : \"not master\"}", ...}
されます。ローカル mongodb インスタンス (replicaSet のセカンダリ メンバー) で書き込み操作を実行しようとしていることを示唆しています。MongoDB replicaSet の任意のメンバーに接続すると、書き込み操作がマスター/プライマリとしてマークされたメンバーに自動的に送信されることを理解していましたか?
詳細:
MongoDB はバージョン 2.6.7 です
設定は単純な YAML ファイルから取得されます
アプリケーション.yml
次に、次の呼び出しでインスタンス化されたアプリケーションで:
return new MongoClient(new ServerAddress(this.getHost(), this.getPort()), this.getOptions());
おそらく、Java MongoDB ドライバー (および/または Jongo) が replicaSet 内のメンバーとその役割を決定し、書き込み操作をセット内の現在のマスターに送るために必要な設定が欠けているのでしょうか? 明確にするために、これらのJava/Seconday-MongoDBサーバーのいずれとも別のサーバーインスタンスであり、プライマリMongoDBインスタンスとは別のNodeJSサーバー部分がありますが、問題なくプライマリ/マスターに正しく書き込むことができるため、そうすべきではありませんファイアウォールの問題。アイデアや助けをいただければ幸いです。
java - この JSON を mongoDB に保存するにはどうすればよいですか?
この JSON を保存する必要があります: {edbff2886c8ca7aa1bd02b092aa03930.zip=T001.zip}
. からMap<String,String>
です。なぜ不可能なのですか?
クエリ
java - @Id アノテーションは何をしますか?
私はこのメモを持つクラスを持ってい@Id
ます、それの用途は何ですか?