通過貓鼬將項目推入mongo數組我已經找了很好的答案,但我相信我迷失了正確的詞語來描述我的目標?;旧?,我有一個名為“People”的MongoDB集合,該集合的模式如下所示:people: {
name: String,
friends: [{firstName: String, lastName: String}]
}現在,我有了一個非常基本的Express應用程序,它連接到數據庫,并使用一個空的朋友數組成功地創建了“People”。在應用程序的次要位置,有一個表單可以添加朋友。表單接受FirstName和LastName,然后使用name字段發布,并引用適當的People對象。我很難做的是創建一個新的朋友對象,然后將它“推”到“朋友”數組中。我知道,當我通過mongo控制臺執行此操作時,我使用了UPDATE函數,并將$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}});};
3 回答

米琪卡哇伊
TA貢獻1998條經驗 獲得超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條經驗 獲得超3個贊
這個 $Push 運算符將指定的值追加到數組中。
{ $push: { <field1>: <value1>, ... } }
$Push 添加以值作為其元素的數組字段。
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 關注
- 639 瀏覽
添加回答
舉報
0/150
提交
取消