通過貓鼬將項目推入mongo數(shù)組我已經(jīng)找了很好的答案,但我相信我迷失了正確的詞語來描述我的目標。基本上,我有一個名為“People”的MongoDB集合,該集合的模式如下所示:people: {
name: String,
friends: [{firstName: String, lastName: String}]
}現(xiàn)在,我有了一個非?;镜腅xpress應用程序,它連接到數(shù)據(jù)庫,并使用一個空的朋友數(shù)組成功地創(chuàng)建了“People”。在應用程序的次要位置,有一個表單可以添加朋友。表單接受FirstName和LastName,然后使用name字段發(fā)布,并引用適當?shù)腜eople對象。我很難做的是創(chuàng)建一個新的朋友對象,然后將它“推”到“朋友”數(shù)組中。我知道,當我通過mongo控制臺執(zhí)行此操作時,我使用了UPDATE函數(shù),并將$Push作為查找條件之后的第二個參數(shù),但我似乎找不到讓貓鼬這樣做的適當方法。db.people.update({name: "John"}, {$push: {friends: {firstName: "Harry", lastName: "Potter"}}});最新情況:所以艾德里安的回答很有幫助。以下是我為實現(xiàn)我的目標所做的事情。在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}});};
3 回答

米琪卡哇伊
TA貢獻1998條經(jīng)驗 獲得超6個贊
var friend = { firstName: 'Harry', lastName: 'Potter' };
person.friends.push(friend);person.save(done);
PersonModel.update( { _id: person._id }, { $push: { friends: friend } }, done);

飲歌長嘯
TA貢獻1951條經(jīng)驗 獲得超3個贊
這個 $Push 運算符將指定的值追加到數(shù)組中。
{ $push: { <field1>: <value1>, ... } }
$Push 添加以值作為其元素的數(shù)組字段。
var objFriends = { fname:"fname",lname:"lname",surname:"surname" };Friend.findOneAndUpdate( { _id: req.body.id }, { $push: { friends: objFriends } }, function (error, success) { if (error) { console.log(error); } else { console.log(success); } });)
- 3 回答
- 0 關注
- 652 瀏覽
添加回答
舉報
0/150
提交
取消