gpt4 book ai didi

javascript - 不能用 mongoose 将项目 $push 到数组中

转载 作者:可可西里 更新时间:2023-11-01 09:56:30 24 4
gpt4 key购买 nike

我正在尝试使用 POST 请求将项目添加到用户对象内的集合中。

  User.findOneAndUpdate(
{"_id": req.body.userid},
{$push: {'shopping_list': req.body.itemid}},
{safe: true, upsert: true},
function(err, Model){
console.log(err, Model);
if(err){
handleError(res, err);
}
return res.status(201).json(Model);
}
);

我不断收到以下错误:

{"name":"MongoError","message":"exception: '$push' is empty. You must specify a field like so: {$push: {: ...}}","value":{"_id":"5546cc0483b0186428e252cc","email":"lilly@test.com","passwordHash":"Q+VpK9L+I/DhAm7w01AArMacBkXEdyHp3zGF6JyJVzDhwgHpws4z8IBxycI7xrRX6Do2AEe/BvI37HauvAc6WA==","salt":"0Bi6XW0YuxutizQY3PZH4Q==","budget":5000,"shopping_list":[],"cupboard":[],"meals":[],"__v":0},"errmsg":"exception: '$push' is empty. You must specify a field like so: {$push: {: ...}}","code":9,"ok":0}

我不明白为什么会发生这种情况,因为字段“shopping_list”清晰可见并且传递了一个值...

有人知道我做错了什么吗??

最佳答案

默认情况下,Mongoose 不会更新未出现在模型架构中的字段。

因此,要么将 shopping_list 添加到您的架构中,要么设置 strict架构上的选项设置为 false

关于javascript - 不能用 mongoose 将项目 $push 到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30042533/

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