मैं उपयोगकर्ताओं के लिए इस छोटे से स्कीमा है:नेवला हटाना subdocument सरणी आइटम
{
username: String,
contacts: Array
}
इसलिए उदाहरण के लिए कुछ उपयोगकर्ताओं के संपर्कों को इस तरह दिखेगा:
{
username: "user",
contacts: [{'id': ObjectId('525.....etc'), 'approved': false}, {'id':ObjectId('534.....etc'), 'approved': true}]
}
अब मैं कोई आइटम हटाने के करने की जरूरत है संपर्कों से इसलिए मैं करता हूं:
model.findByIdAndUpdate(23, {'$pull': {
'contacts':{'id':'525.....etc'}
}});
लेकिन काम नहीं कर रहा है, n ओ त्रुटियों लेकिन इसे नष्ट नहीं किया जाता है, मैं सिर्फ उपयोगकर्ता के लिए इस दस्तावेज़ वापस जाने के लिए करना चाहते हैं:
{
username: "user",
contacts: [{'id':ObjectId('534.....etc'), 'approved': false}]
}
यह कैसे प्राप्त करने के लिए?
हाय धन्यवाद, लेकिन अब मैं इस त्रुटि मिली: ** [MongoError: अपवाद: [{आईडी:: ObjectId ('543394bb964ac60915ceba8b' तत्व ({संपर्क पार करने के लिए भाग (contacts.id के संपर्क) उपयोग नहीं कर सकते), अनुमोदित: झूठा}, {आईडी: ऑब्जेक्टआईडी ('543399f9964ac60915ceba8c'), अनुमोदित: झूठा}]}) ** यह क्या हो सकता है? मैंने आपकी डॉट एनोटेशन का उपयोग किया - – sbaaaang
@ सबाआंग आप वास्तव में क्या कर रहे हैं? क्या आप "डॉट नोटेशन" फॉर्म का उपयोग कर रहे हैं जैसा आपको बताया गया था? बीटीडब्ल्यू स्पष्ट रूप से यह दिखाने के लिए धन्यवाद कि आपका वास्तविक डेटा आपके द्वारा पोस्ट किए गए तरीके से अलग है जो शायद यहां समस्या का हिस्सा है। कृपया अपनी वास्तविक डेटा संरचना को दिखाने के लिए संपादित करें। –
हाँ * डॉट नोटेशन * का उपयोग करके, जैसा कि आपने कहा था, हाँ मैं ऑब्जेक्ट आईडी का उपयोग कर रहा हूं लेकिन ठीक है, मुझे लगता है कि समस्या नहीं है: पी नहीं? (संपादित प्रश्न) – sbaaaang