Upsert

2012-11-11 13 views
5

Mongoid'de iniş yapmanın (var değilse ekle) yerleşik bir yolu var mı? Veya önce bir öğenin var olup olmadığını ve yalnızca ekleme/güncelleme yaptıktan sonra mı kontrol etmeliyim?Upsert

cevap

2

zaten

Model # Upsert belge üzerinde bir MongoDB Upsert gerçekleştirir Mongoid içinde yerleşik bir Upsert yöntem Orada. Veritabanında belgesi varsa, belgenin belleğinde geçerli özniteliklerinin üzerine yazılır. Belgedeki belge değilse, eklenir. Bunun yalnızca 'u {before | after | around} _upsert geri aramalarını çalıştırdığını unutmayın.

has_many için bunu yapmak nasıl

+0

http://mongoid.org/en/mongoid/docs/persistence.html Alındığı. Kullanıcının birçok Kitabı olduğunu varsayalım, kullanıcı kitaplarının güncellenmesini, eklenmesini, değiştirilmesini istiyorum. User.first.upsert (: books_attributes =>?) ??? – user1735921

+0

@ user1735921Bu MongoDB'yi kullandığımdan beri bir süredir var, ancak şu anki dokümanlar şovlarına hızlı bir bakış - https://docs.mongodb.com/ruby-driver/master/tutorials/ruby-driver-bulk-operations/# update-birçok – gef

İlgili konular