2
他のオブジェクトの中に入れ子にされた配列に、最も「ベストプラクティスの方法」でオブジェクトを追加する必要があります。java mongodbの配列にオブジェクトを追加する
問題は、新しいオブジェクトを追加するだけでデータベースから配列全体をプルアップしたくないということです。これを行うには、新しいオブジェクトをクエリで配列に追加するのと同じように、より良い方法が必要ですか?
今のところ、含まれている投稿でビジネスオブジェクトをプルアップし、新しい投稿を追加してビジネスオブジェクトを更新しています。私が達成したい何
public interface BusinessRepository extends MongoRepository<Business, String> {
@Query(value="{ 'id' : ?0 }", fields="{ 'posts' : 1 }")
Business findOneIncludeOnlyPosts(String id, Pageable pageable);
}
は次のようなものです:
@Query(value="{ SOME QUERY }")
void putPostInBusinessPosts(String id, Post post);
は、それは可能ですか私はそれを、より安価な方法をしなければならないのですか?
使用:
- 春ブート1.3.5
- のmongo-javaのドライバ3.2.2
返信用Thx。 BusinessRepositoryインターフェースを使ってMongoRepositoryとMongoTemplateの両方を使用できる方法はありますか? – rilar
あなたは[カスタムリポジトリ実装を持つ](http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#repositories.custom-implementations)と 'MongoTemplate 'それを –
ところで' $ push'を起動させるには 'update.addToSet'の代わりに' update.push'を使うべきです。 –