无法更新猫鼬值

时间:2018-10-28 19:40:11

标签: javascript node.js mongodb mongoose

我有一个看起来像这样的猫鼬模式

var mongoose = require("mongoose");
var UserSchema = new mongoose.Schema ({
  username: String,
  image: String,
  userId: String,
  email: String,
  isFormFilled: {
      default: false,
      type: Boolean
  }, 
});

module.exports = mongoose.model("user", UserSchema);

现在,我第一次在其中添加值时,我不会更改/放置 isFormFilled 值,因此它是值。

现在,在应用程序中的某个位置,我想将 isFormFilled 的值更改为true,然后将其导入到包含路由的给定文件夹中

const userBasic = require("../models/user-model.js")

在路线中,我正在做类似的事情

 userBasic.findOneAndUpdate({userId: newUser.userid},  {
            isFormFilled: true
        },  (err, user) => {
            if (err) {
                console.log(error)
            } else {
            console.log(user)
            res.json(req.user)
            }
        })

但是它似乎并没有将我的值更新为true。

问题:知道我可能做错了什么以及如何解决?

1 个答案:

答案 0 :(得分:1)

使用Robo 3T进行检查,如果已更改,我猜是。猫鼬findOneAndUpdate有一个名为options的参数,您必须传递一个{new: true}作为参数(回调之前的第三个参数),以获取更改后的文档。

编辑:是的,如我前面几秒钟的评论中所述:)