Anda mungkin dapat menggunakan operator posisi untuk mengidentifikasi elemen larik:
Jadi mungkin sesuatu seperti:
User.collection.update(
{ :_id => user.id, :matches => BSON::ObjectId('4e40238dbc9f6ec5a6000eed') },
{ :$set => { 'alert.matches.$' => matches } }
)
Namun seperti yang dicatat oleh Sergio, sulit untuk menguraikan struktur dokumen Anda berdasarkan informasi yang terbatas dalam pertanyaan Anda.
Sepertinya lebih banyak informasi masuk setelah saya menjawab dan sepertinya:
{ :$set => { 'alerts.$.matches' => ... } }
adalah apa yang Anda butuhkan. Dan Anda harus menyertakan :matches
dalam kueri sehingga $
memiliki sesuatu untuk dirujuk.