簡體   English   中英

不能用mongoose將項目推送到數組中

[英]Cannot $push item into array with mongoose

我正在嘗試使用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'為空。您必須指定如下字段:{$ push:{:...}}”,“value”:{“ _id “:” 5546cc0483b0186428e252cc”, “電子郵件”: “lilly@test.com”, “passwordHash”: “Q + VpK9L + I / DhAm7w01AArMacBkXEdyHp3zGF6JyJVzDhwgHpws4z8IBxycI7xrRX6Do2AEe / BvI37HauvAc6WA ==”, “鹽”: “0Bi6XW0YuxutizQY3PZH4Q ==”, “預算” :5000,“shopping_list”:[],“櫥櫃”:[],“飯”:[],“__ v”:0},“errmsg”:“例外:'$ push'為空。你必須指定一個字段像這樣:{$ push:{:...}}“,”code“:9,”ok“:0}

我不明白為什么會發生這種情況,因為字段'shopping_list'清晰可見並且值傳遞...

誰知道我做錯了什么?

默認情況下,Mongoose不會更新未出現在模型架構中的字段。

因此,要么將shopping_list添加到架構中,要么將架構上的strict選項設置為false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM