node.js - 数据无法在 mongodb 中更新
问题描述
此错误出现在我的节点 js 控制台中:
(node:6048) UnhandledPromiseRejectionWarning: MongoError: document must be a valid JavaScript object
router.post('/datapassfup', (req, res) => {
console.log("submitted values are",req.body)
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mohan");
var myobj =req.body;
dbo.collection("customers").updateOne({$set:{myobj}}, function(err, res) {
if (err) throw err;
//console.log("1 document inserted");
db.close();
});
});
res.json({
statusCode: 200,
result: "hi how are you!",
})
}
);
解决方案
updateOne() 有第一个参数作为过滤器。定义您的过滤器,然后更新。
//suppose you are getting id in order to update
let userId = req.body.updatedUser.id;
let userName = req.body.updatedUser.username;
let name = req.body.updatedUser.name;
dbo.collection("customers").updateOne({_id: userId},{$set:{name, username:userName}},
function(err, res) {
if (err) throw err;
//console.log("1 document inserted");
db.close();
});
});
推荐阅读
- c# - 如何让我的 TextBlock 使用 DataBinding 更新文本
- java - Selenium chromedriver在linux上打开一个空白页面而不是url
- scala - 如何在scala中替换List [Row]中特定键的值
- ios - 当我关闭它时,如何从 TableViewController 传递数据?
- amazon-web-services - List of external schemas and tables from Amazon Redshift
- socket.io - 如何在 kotlin 中使用套接字 IO?
- reactjs - 使用 react redux 在 asp.net core2 中导入 css 文件
- facebook - Facebook new popup - Wants to use "facebook.com" to sign in
- php - 从选项列表中选择国家后如何显示状态数据(以复选框的形式)
- android - object not locked by thread before notify() in Foreground Service Notification