मैंने उत्तर की तलाश में एक अच्छा सा बदमाश है, लेकिन मुझे यकीन है कि मैं सही शब्दों के लिए खो गया हूँ वर्णन करने के लिए कि मैं क्या हूँ।
मूल रूप से मेरे पास 'लोगों' नामक एक संग्रह संग्रह है जो कि संग्रह के लिए स्कीमा निम्नानुसार है:
people: {
name: String,
friends: [{firstName: String, lastName: String}]
}
अब, मेरे पास एक बहुत ही बुनियादी एक्सप्रेस एप्लिकेशन है जो डेटाबेस से जुड़ता है और सफलतापूर्वक एक खाली मित्र सरणी के साथ 'लोगों' को बनाता है।
आवेदन में एक द्वितीयक स्थान में, दोस्तों को जोड़ने के लिए एक फॉर्म है। फॉर्म पहले नाम और अंतिम नाम में लेता है और फिर नाम फ़ील्ड के साथ POST भी उचित लोगों के ऑब्जेक्ट के संदर्भ के लिए।
मुझे जो मुश्किल समय हो रहा है वह एक नया मित्र ऑब्जेक्ट बना रहा है और फिर इसे मित्र सरणी में "पुश" कर रहा है।
मुझे पता है कि जब मैं मोंगो कंसोल के माध्यम से ऐसा करता हूं, तो मैं लुकअप मानदंड के बाद अपने दूसरे तर्क के रूप में $ पुश के साथ अपडेट फ़ंक्शन का उपयोग करता हूं, लेकिन मैं ऐसा करने के लिए मानदंड प्राप्त करने का उपयुक्त तरीका नहीं ढूंढ सकता।
db.people.update({name: "John"}, {$push: {friends: {firstName: "Harry", lastName: "Potter"}}});
अद्यतन: तो, एड्रियन का जवाब बहुत मददगार था। अपने लक्ष्य को पूरा करने के लिए मैंने जो किया वह निम्नलिखित है।
मेरे app.js फ़ाइल में, मैं एक अस्थायी मार्ग का उपयोग कर सेट करता हूं
app.get('/addfriend', users.addFriend);
जहाँ मेरे users.js फ़ाइल में मेरे पास है
exports.addFriend = function (req, res, next)
{
var friend = {"firstName": req.body.fName, "lastName": req.body.lName};
Users.findOneAndUpdate({name: req.user.name}, {$push: {friends: friend}});
};