मैं एक संग्रह के सभी दस्तावेजों में एक क्षेत्र का नाम बदलने की कोशिश,db.collection.update() सभी दस्तावेजों
db.coll.update({},{ $rename: {'originField':'newField'} });
लेकिन केवल एक दस्तावेज़ बदल गया है के साथ, क्यों?
मैं एक संग्रह के सभी दस्तावेजों में एक क्षेत्र का नाम बदलने की कोशिश,db.collection.update() सभी दस्तावेजों
db.coll.update({},{ $rename: {'originField':'newField'} });
लेकिन केवल एक दस्तावेज़ बदल गया है के साथ, क्यों?
MongoDB में सभी अपडेट डिफ़ॉल्ट रूप से एकवचन हैं। ,
db.coll.update({},{ $rename: {'originField':'newField'} }, {multi:true});
या, जैसा कि @totymedli ने बताया अगर आप 3.2 का उपयोग कर रहे हैं और इसके बाद के संस्करण आप updateMany()
उपयोग कर सकते हैं:: आप करने के लिए अपने आदेश के लिए एक तीसरा विकल्प को जोड़ना होगा MongoDB: update every document on one field
db.collectionname.update({ "field" : "oldvalue" }, { $set:{ "field" : "newvalue" } }, { multi : true });
पुरानी अवधि के लिए इसे कैसे करें + "कुछ स्ट्रिंग" –
डिफ़ॉल्ट अपडेट से कर रहे हैं एकवचन, आपको तीसरे परम – Sammaye
@Sammaye के रूप में ', {multi: true}' जोड़ने की आवश्यकता है धन्यवाद, यह उत्तर – JuanPablo
@Sammaye आप टिप्पणी को बंद करने के उत्तर की तरह जोड़ सकते हैं? – JuanPablo