के एकाधिक रिकॉर्ड अपडेट करें मैंने हाल ही में मोंगोडीबी का उपयोग करना शुरू किया और मेरे पास दस्तावेज़ में सरणी अपडेट करने के बारे में एक प्रश्न है।मोंगोडीबी सरणी
{
"_id" : ObjectId(),
"post" : "",
"comments" : [
{
"user" : "test",
"avatar" : "/static/avatars/asd.jpg",
"text" : "....."
}
{
"user" : "test",
"avatar" : "/static/avatars/asd.jpg",
"text" : "....."
}
{
"user" : "test",
"avatar" : "/static/avatars/asd.jpg",
"text" : "....."
}
...
]
}
मैं निम्न क्वेरी निष्पादित करने के लिए कोशिश कर रहा हूँ: मैं इस तरह संरचना मिला
update({"comments.user":"test"},{$set:{"comments.$.avatar": "new_avatar.jpg"}},false,true)
समस्या यह है कि यह सभी दस्तावेजों को अद्यतन, लेकिन यह हर में केवल प्रथम श्रेणी घटकों को अद्यतन है दस्तावेज़। क्या सभी सरणी तत्वों को अद्यतन करने का कोई तरीका है या मुझे इसे मैन्युअल रूप से करने का प्रयास करना चाहिए? धन्यवाद।
उत्तर के लिए धन्यवाद। ठीक है चूंकि मोंगो शामिल नहीं होता है, इसलिए मैं ब्लॉग सिस्टम को टिप्पणियों के साथ बनाना चाहता हूं, और मैं अपनी टिप्पणियों के बगल में हर उपयोगकर्ता अवतार दिखाना चाहता हूं। कोई सुझाव है कि मैं अपनी स्कीमा कैसे बनाऊं? –
संकल्पनात्मक रूप से, आपको किसी उपयोगकर्ता => अवतार मानचित्र को कहीं भी स्टोर करना होगा। आप उपयोगकर्ता दस्तावेज़ में अपने उपयोगकर्ता के अवतार को स्टोर कर सकते हैं (आपके उपयोगकर्ता संग्रह में), या आप उस ब्लॉग एंट्री के दस्तावेज़ के किसी दिए गए ब्लॉग एंट्री के टिप्पणीकर्ताओं के लिए उपयोगकर्ता => अवतार मानचित्र स्टोर कर सकते हैं। MongoDB में सामान्यीकरण के हल्के उपचार के लिए http://docs.mongodb.org/manual/applications/database-references/ देखें, और http://docs.mongodb.org/manual/use-cases/storing-comments/ के लिए एक "उपयोगकर्ता टिप्पणियां" केस विश्लेषण का उपयोग करें। –
हाँ, मैंने आपके उत्तर को देखने से ठीक पहले उस समाधान को समझ लिया। वैसे भी आपको बहुत धन्यवाद @ जेसन। –