通过猫鼬将项目推入mongo数组
我一直在寻找答案,但我确定我迷失了正确的词来描述我的追求。 基本上,我有一个名为“ people”的mongodb集合,该集合的架构如下: people: { name: String, friends: [{firstName: String, lastName: String}] } 现在,我有一个非常基本的express应用程序,该应用程序连接到数据库并使用空的Friends数组成功创建了“ people”。 在应用程序的次要位置,有一个添加好友的表单。该表单采用firstName和lastName,然后使用带有名称字段的POST来引用适当的people对象。 我很难做的是创建一个新的朋友对象,然后将其“推送”到friends数组中。 我知道,当我通过mongo控制台执行此操作时,我会使用$ 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: …