【发布时间】:2016-05-30 19:14:38
【问题描述】:
我正在为 nodejs 使用 mongodb 驱动程序。
我在更新记录时遇到错误。
{"name":"MongoError","message":"选择器必须是有效的 JavaScript 对象","驱动程序":true}
这是我的脚本:
MongoClient.connect(url, function (err, db) {
if (err)
{
console.log('Unable to connect to the mongoDB server. Error:', err);
return;
}
var collName = "bank";
var SelectParas = {"name":"ABC"};
var UpdateValues = {"name":"PQR"};
db.collection(collName).update(collName,SelectParas,{$set:UpdateValues},function (err,numUpdated){
if(err)
{
console.log('err');
console.log(err);
return;
}
if(numUpdated)
{
console.log('Updated Successfully %d document(s).', numUpdated);
}
db.close();
});
});
我可以在 mongo 控制台中编写以下行并且它可以工作。
db.bank.update({"name":"ABC"},{$set:{"name":"PQR"}})
【问题讨论】:
-
从
update()方法参数列表中删除collName,即你的操作应该是db.collection(collName).update(SelectParas,{$set:UpdateValues},function (err,numUpdated){ ... });