क्या किसी वस्तु में मूल्यों को अद्यतन करने का एक तरीका है?
{
_id: 1,
name: 'John Smith',
items: [{
id: 1,
name: 'item 1',
value: 'one'
},{
id: 2,
name: 'item 2',
value: 'two'
}]
}
आइए कहते हैं कि मैं उस आइटम के लिए नाम और मूल्य आइटम को अपडेट करना चाहता हूं जहां आईडी = 2;
मैंने निम्नलिखित w / mongoose की कोशिश की है:
var update = {name: 'updated item2', value: 'two updated'};
Person.update({'items.id': 2}, {'$set': {'items.$': update}}, function(err) { ...
इस दृष्टिकोण के साथ समस्या यह है कि यह संपूर्ण ऑब्जेक्ट को अपडेट / सेट करता है, इसलिए इस मामले में मैं आईडी फ़ील्ड खो देता हूं।
क्या किसी निश्चित मान को सरणी में सेट करने के लिए मानगो में बेहतर तरीका है लेकिन अन्य मूल्यों को अकेला छोड़ दें?
मैं भी सिर्फ व्यक्ति के लिए queried है:
Person.find({...}, function(err, person) {
person.items ..... // I might be able to search through all the items here and find item with id 2 then update the values I want and call person.save().
});