Node.js 为什么更新没有';行不通
我将一个json变量传递给一个模块,但我无法更新我的集合,因为在更新过程中总是会出错Node.js 为什么更新没有';行不通,node.js,mongodb,mongojs,Node.js,Mongodb,Mongojs,我将一个json变量传递给一个模块,但我无法更新我的集合,因为在更新过程中总是会出错 var gestion = function(myJSON) { var dburl = 'localhost/mongoapp'; var collection = ['clientes']; var db = require('mongojs').connect(dburl, collection ); function cliente(nombre, estado, nuevo){
var gestion = function(myJSON) {
var dburl = 'localhost/mongoapp';
var collection = ['clientes'];
var db = require('mongojs').connect(dburl, collection );
function cliente(nombre, estado, nuevo){
this.nombre = nombre;
this.estado = estado;
this.nuevo = nuevo;
}
var cliente1 = new cliente(myJSON.nombre myJSON.estado, myJSON.nuevo);
if (cliente1.estado == "desconectado"){
db.clientes.update(cliente1.nombre, {$set: {estado: "desconectado", nuevo: "no"}}, function(err) {
if (err) console.log("error "+cliente1.nombre);
else console.log("OK");
});
}
}
return 0;
}
我还尝试删除我的db并再次创建,我确信我的db中存在我的对象。您应该使用的签名是
update(query, update, callback)
但是您正在为查询传递一个字符串,这对Mongo没有任何意义。您可能希望查看概览,但对于此特定实例,您似乎正在尝试查找nombre
等于client1.nombre
处字符串的文档。对此的查询是一个dictionary{nombre:client1.nombre}
,因此该行应该是
db.clientes.update({nombre: cliente1.nombre}, {$set: {estado: "desconectado", nuevo: "no"}}, function(err) {
您得到的错误消息是什么?错误:选择器必须是有效的JavaScript对象