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
Q
Upsert
5
A
cevap
2
zaten
has_many için bunu yapmak nasılModel # 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.
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
@ 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