我有一个看起来像这样的猫鼬模式
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。
问题:知道我可能做错了什么以及如何解决?
答案 0 :(得分:1)
使用Robo 3T进行检查,如果已更改,我猜是。猫鼬findOneAndUpdate有一个名为options的参数,您必须传递一个{new: true}
作为参数(回调之前的第三个参数),以获取更改后的文档。
编辑:是的,如我前面几秒钟的评论中所述:)