gpt4 book ai didi

javascript - 使用 Node.JS Mongoose 查找文档并将值插入 MongoDB 中的数组

转载 作者:可可西里 更新时间:2023-11-01 10:15:41 24 4
gpt4 key购买 nike

我有一个名为“favorite”的 mongodb 集合。该集合的架构如下:

    var favoritesSchema = new Schema({

postedBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
dishes:[
{
type: mongoose.Schema.Types.ObjectId,
ref: 'Dish'
}
]
},

{timestamps:true}
);

var favoritesModel = mongoose.model('Favorite',favoritesSchema);

现在我需要的是找到具有特定 postedBy 的确切文档,并且需要将值插入到数组字段 dishes 中。我的代码如下所示

 Favorites.find({ postedBy : req.decoded._doc._id },function(err,favorite){
favorite.dishes.push(req.body._id);
favorite.save(function(err,favorite)
{
if(err) throw err;
console.log('favorite updated');
res.json(favorite);
});
}
});

然而,这是失败的类型错误:无法读取未定义的属性“推送”。请帮忙。

最佳答案

favorite 是收藏文档的数组,因为您正在使用 find。您想在这里使用 findOne,这样 favorite 就是您要更新的单个文档。

Favorites.findOne({ postedBy : req.decoded._doc._id }, function(err,favorite){
favorite.dishes.push(req.body._id);
favorite.save(function(err,favorite) { ...

关于javascript - 使用 Node.JS Mongoose 查找文档并将值插入 MongoDB 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43707115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com