3

MongoDB と Spring 3 を使用しています。次のドメイン オブジェクトがあります。

@Document(collection = "users")
public class User {

    @Id
    private String id;

    private List<Post> posts;
}

に を追加したいのですがPostUserそれを行うための最良/最も効率的な方法は何ですか? プログラムでこれを行う方法を確認できます-ユーザーを見つけ、新しい投稿オブジェクトをリストに追加し、ユーザーを再度保存します-しかし、これは非常にエレガントまたは効率的ではないと思います。

ドキュメントから、オペレーターを使用する必要がある$pushようですが、Spring の MongoTemplate でこれを行う方法の例が見つからないようです。誰でも例を挙げてもらえますか?

4

1 に答える 1

6

$push は、配列に新しいドキュメントを追加する正しい方法です。

サンプル コードは、このプレゼンテーション(スライド 22)でご覧いただけます。関連する行は次のとおりです。

mongoTemplate.updateFirst(collection, 
... new Query(where("_id").is(...)),
... new Update().push("field", dbo));
于 2012-06-06T06:18:15.193 に答える