के माध्यम से मोंगो सरणी में पुश आइटम पुश करें तो मैंने जवाब की तलाश में बहुत अच्छा लगा है, लेकिन मुझे यकीन है कि मैं सही शब्दों के लिए खो गया हूं जो कि मैं बाद में हूं।मोंगोज़
मूल रूप से मैं एक MongoDB संग्रह कहा जाता है 'लोगों' कि वसूली के लिए स्कीमा है इस प्रकार है:
people: {
name: String,
friends: [{firstName: String, lastName: String}]
}
अब, मैं एक बहुत ही बुनियादी एक्सप्रेस आवेदन डेटाबेस से कनेक्ट करता है और सफलतापूर्वक 'लोगों बनाता है 'एक खाली दोस्तों सरणी के साथ।
आवेदन में द्वितीयक स्थान पर, मित्रों को जोड़ने के लिए एक फॉर्म मौजूद है। फ़ॉर्म पहले नाम और अंतिम नाम में और फिर नाम फ़ील्ड के साथ POSTs को उचित लोगों के ऑब्जेक्ट के संदर्भ में लेता है।
मुझे जो मुश्किल समय हो रहा है वह एक नया मित्र वस्तु बना रहा है और फिर इसे मित्र सरणी में "धक्का" दे रहा है।
मुझे पता है कि जब मैं इसे मोंगो कंसोल के माध्यम से करता हूं तो मैं लुकअप मानदंड के बाद अपने दूसरे तर्क के रूप में $ push के साथ अद्यतन फ़ंक्शन का उपयोग करता हूं, लेकिन मुझे ऐसा करने के लिए मोंगोस प्राप्त करने का उचित तरीका नहीं दिख रहा है।
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}});
};
मुझे लगता है कि मैं संभावित रूप से संग्रह का उपयोग कर सकता हूं। FindOneAndUpdate(), लेकिन मुझे यकीन नहीं है कि मैं इसे कहां कार्यान्वित करूँगा? मेरे मॉडल में? – Neurax