問題タブ [mongotemplate]

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

java - グループ化と条件付き合計

mongoTemplate を使用して mongodb データベースにクエリを実行し、コレクションでカウントを行いたいと考えています。IDでグループ化し、条件付きでカウントしたい。このクエリをmongoshellで使用しました

それは私が望むものを返しますが、それをJava mongotemplateに変換する方法がわかりません。

助けてください :)

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

java - Java MongoTemplate は、クエリで子関係を除外します

バックグラウンド:

Spring-boot と MongoDB を使用しています。

findAllContactsForUser からの出力:

問題:

私が望む結果:

findAllContactsForUser のクエリから予約関係を除外するにはどうすればよいですか?

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

spring - Springデータmongodbは、MongoTemplateを使用してドキュメントからプロパティを削除します

以下に示すようなドキュメントがあります

activationTokenSpring を使用してプロパティを削除するにはどうすればよいMongoTemplateですか?

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

java - MongoDB マルチテナンシー (Java): MongoClient を使用して、実行時に異なる DB 資格情報を持つ MongoDB データベースを切り替える方法は?


MongoDB マルチテナンシーに関する問題に直面しています。2 つの異なる mongoDB データベース (db1 と db2) があります。これらは両方とも異なる資格情報を持っています。

db1 資格情報:ユーザー名:
管理者
パスワード: passwd

db2 資格情報:ユーザー
名: admin1
パスワード: passwd1

実行時にあるデータベースから別のデータベースに切り替える必要があります。db1 資格情報で mongoTemplate を自動配線しましたが、db2 資格情報でテンプレートを更新できません。これは可能ですか?はいの場合、どのように?そうでない場合は、別の資格情報を使用して実行時にデータベースを切り替える他の方法を教えてください。

「SimpleMongoDbFactory」を認識していることに注意してください。「SimpleMongoDbFactory」を拡張し、「getDb」メソッドをオーバーライドして、マルチテナンシーのために必要な dbName を super.getDb("dbName") に渡すことができます。ただし、これは、資格情報が異なる 2 つのデータベースでは機能しません。

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

java - MongoDB Java ドライバーのカスタム実装

MongoTemplate でオンザフライで DB 資格情報を追加するには、「com.mongodb.MongoClient」の独自の実装を作成する必要があります。

これは、次の理由によるものです。
- マルチテナント アプリケーションで作業しており、データベースはその場で作成されます。
- (サーバーの起動時に) MongoTemplate を自動配線している間、MongoClient に渡される資格情報リストが変更されます。
- 新しいテナントが追加されるたびに、既存の MongoTemplate を再注入できませんでした。
- また、すべてのテナントで共有接続プールを使用する必要があるため、テナントごとに異なる MongoTemplate を使用することはできません。

MongoClient のカスタム実装を書き留めてもよろしいですか? はいの場合、その場で DB 資格情報の変更に対応するためにどのように実装する必要がありますか?

「com.mongodb.MongoClient」コンストラクターに渡された「credentialsList」は「unmodifiableList」に変換されるため、更新できないことに注意してください。

ありがとう!!