मेरे पास एक डेटा है जो मोंगोडीबी में नीचे जैसा दिखता है
{
_id: aasdfeasfeasdf,
todo: [
{_todoIde: 333, _with: []},
{_todoIde: 111, _with: []},
]
}
मैं $addToSet
को _todoIde: 333
के _with
को {_todoIde: 333, _with: [aaaa]},
की तरह मान देना चाहता हूं। मैं यह कैसे कर सकता हूं?
.updateOne(
{_id},
{ $addToSet: {}}
)
मुझे दस्तावेज़ मिल गया लेकिन मैं उस _todoIde: 333
को केवल उसी को अपडेट करने के लिए निर्दिष्ट नहीं कर सकता।
2 जवाब
todoIde
निर्दिष्ट करने के लिए आपको एक अतिरिक्त शर्त जोड़नी होगी
ये कोशिश करें:
db.collection.update(
{$and:[{_id: typeId},{'todo._todoIde': 333}]},
{$set: { "todo._todoIde.$._with":[a,b,c]}},
);
स्थितीय $ ऑपरेटर एक सरणी में एक तत्व की पहचान करता है सरणी में तत्व की स्थिति को स्पष्ट रूप से निर्दिष्ट किए बिना अद्यतन करने के लिए,
.updateOne(
{ _id: "aasdfeasfeasdf", "todo._todoIde": 333 },
{
$addToSet: {
"todo.$._with": "aaaa"
}
}
)
संबंधित सवाल
नए सवाल
node.js
Node.js एक घटना-आधारित, गैर-अवरोधक, अतुल्यकालिक I / O रनटाइम है जो Google के V8 जावास्क्रिप्ट इंजन और libuv लाइब्रेरी का उपयोग करता है। इसका उपयोग उन अनुप्रयोगों को विकसित करने के लिए किया जाता है जो क्लाइंट पर और साथ ही सर्वर साइड पर जावास्क्रिप्ट को चलाने की क्षमता का भारी उपयोग करते हैं और इसलिए कोड के पुन: प्रयोज्य और संदर्भ स्विचिंग की कमी से लाभान्वित होते हैं।