मोंगोइड का उपयोग करना, क्या किसी निश्चित मानदंड से मेल खाने वाली सभी प्रविष्टियों के लिए एक सरणी फ़ील्ड पर मान को धक्का देने के लिए "update_all" का उपयोग करना संभव है?Mongoid के साथ, क्या मैं एक बार में कई प्रविष्टियों के लिए एक सरणी फ़ील्ड पर एक मूल्य को धक्का देने के लिए "update_all" कर सकता हूं?
उदाहरण:
class Foo
field :username
field :bar, :type => Array
def update_all_bars
array_of_names = ['foo','bar','baz']
Foo.any_in(username: foo).each do |f|
f.push(:bar,'my_new_val')
end
end
end
वहाँ एक ही बार में (प्रत्येक मिलान प्रवेश के लिए "foo" क्षेत्र पर मान 'my_new_val' पुश करने के लिए) सभी उपयोगकर्ताओं को अद्यतन करने का उपयोग कर एक तरीका है मैं सोच रहा हूँ "update_all "(या कुछ समान) एक समय में उन्हें अद्यतन करने के लिए उनके माध्यम से लूपिंग के बजाय। मैंने सब कुछ करने की कोशिश की है जिसे मैं सोच सकता हूं और अब तक कोई भाग्य नहीं है।
धन्यवाद
सिर्फ उत्तर लिख रहा था, वहां एक तीसरा पैरामीटर 'बहु: सत्य' – rubish
भी सही होना चाहिए। मैं अपना उत्तर – shingara
शानदार अद्यतन करता हूं! बहुत बहुत धन्यवाद! – orderedchaos