【问题标题】:Update MongoDB from Mongoose从 Mongoose 更新 MongoDB
【发布时间】:2016-05-19 08:16:22
【问题描述】:

我正在尝试使用 mongoose 更新 MongoDB 中的一行,我传递了唯一的帐号,但我无法更新此行。

this.update({account_no:key},{valid:'true'},{ upsert: true }, function(){});    

这有什么问题?

谢谢,

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    请尝试

    this.update({account_no:key}, { $set: { valid: 'true' }},{ upsert: true }, function(){}); 
    

    并在更新参数中使用 $set。 可能是它!

    【讨论】:

    • 该死的。如果您首先通过 account_no 查询集合,然后在回调中将结果对象的有效属性设置为 true 并在对象上调用 .save() 进行更新,作为一种解决方法,该怎么办?
    • 我试过这个代码 this.findOne({ account_no: key }, function(err, user) { if (err) { return callback(err); } if (!user) { return callback(空,假);} user.valid='假';user.save();});但它不起作用。我做错了吗?
    • 好的,这正是我想要的方式。我认为您需要使用 console.log();函数来调试一些值。 save() 有一个回调,您可以检查诸如 .save(function(err) { console.log(err); }); 之类的错误。我建议也将 findOne 中的“err”和“user”变量记录到控制台。
    • 谢谢 tomasz。问题是 valid 是布尔类型,我提供的是字符串。当我将其更改为布尔值时,它可以工作。
    • 我想了一秒钟:“我应该问他,如果 valid 真的是一个字符串,neeaah”。不管怎样,周末愉快。
    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 2015-10-04
    • 1970-01-01
    • 2023-01-29
    • 2016-02-24
    • 2017-01-22
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多