javascript - 无法使用 .update() 更新 Mongoose 属性

标签 javascript node.js mongodb

我为我的站点创建了一个注册系统,它向注册用户发送一封确认电子邮件,他们的确认代码是他们在 mongoose 数据库中的帐户的 _id

然后,回到我的网站,他们输入他们的确认码,我想使用 .update() 方法来更改 confirmed 属性的值该用户的数据库中的 01

这是我的代码:

router.post('/confirmAcc',function(req, res, next) {

  var getid=req.body.confirmcode;
  console.log(getid);
  var requis = { "_id": getid };

  User.update(requis, {confirmed: '1'}, function (err, doc){
    console.log(doc);
    if (err) throw err;
  });

  res.render('index', {title:'nDoto'});
});

数据库匹配id没有问题,但是没有更新现有的“confirmed”属性为“1”。

我不知道为什么。

此外,当我运行代码并输入我的确认代码并且该函数运行时,控制台写道:

{ ok: 0, n: 0, nModified: 0 }

最佳答案

我解决了这个问题。我没有使用 User.update(),而是使用了:

router.post('/confirmAcc',function(req, res, next) {
var getid=req.body.confirmcode;

var requis = { "_id": getid };

User.findOne(requis, function (err, doc){
    doc.credentials.confirmed="1";
    doc.save();
    if (err) throw err;
});
res.render('index', {title:'nDoto'});
});

这有效:)

关于javascript - 无法使用 .update() 更新 Mongoose 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34968055/

相关文章:

javascript - 向子菜单下拉列表添加延迟 - bootstrap3

javascript - 从 mongodb 作为文档检索对象类型后如何获取对象类型?

javascript - ReactJS (ReactTestUtils) 理解哪些事件类型?

node.js - 为什么 OpenCV Mat 会造成内存泄漏?

node.js - 带有 node-sass 和 autoprefixer 的 npm

javascript - nodejs中的路径

mongodb - 如何在 MongoDB 中聚合时间序列数据

node.js - 使用 Express JS 删除 MongoDB 文档

javascript - 如何从javascript中的字符串中提取json

javascript - 需要帮助设置backbone.js : Uncaught ReferenceError: Backbone is not defined