2015-06-02 3 views
5

MongoDB संस्करण {$ सेट नहीं:: { ...}} 3.0.1
नेवला संस्करण 4.0.3

मैं यह करने के कोशिश कर रहा हूँ:

groupsModel.updateQ({_id:group._id},{ 
    $unset:{"moderators":""}, 
    $set:{"admins":newAdmins} 
}) 

और मैं

'\'$unset\' is empty. You must specify a field like so: {$unset: {<field>: ...}}'

बताते हुए catch से एक MongoError हो रही है लेकिन यह खाली नहीं है।

moderators, हालांकि, स्कीमा में नहीं है, इसलिए मैं इसे हटाने की कोशिश कर रहा हूं।

उत्तर

12

मैं उस त्रुटि संदेश को पुन: उत्पन्न करने में सक्षम नहीं था, लेकिन जैसा कि आपने देखा है, मोंगोस केवल स्कीमा में परिभाषित फ़ील्ड अपडेट करेगा। हालांकि, अगर आप strict: false विकल्प को शामिल करके कि डिफ़ॉल्ट व्यवहार को ओवरराइड कर सकते हैं:

groupsModel.update(
    {_id: group._id}, 
    {$unset: {"moderators": ""}, $set:{"admins": newAdmins}}, 
    {strict: false} 
) 
+0

, एक ही त्रुटि थी सोचा था कि मैं इसे खो गया था जब तक मुझे एहसास हुआ कि क्षेत्र मेरी स्कीमा में नहीं था। –

+0

धन्यवाद, मुझे एक ही समस्या थी। मुझे एहसास नहीं हुआ कि मैं स्कीमा में और अद्यतन विधि में 2 अलग-अलग नामों का उपयोग कर रहा हूं। –

संबंधित मुद्दे