2013-06-25 5 views
0

모듈에 json 변수를 전달했지만 컬렉션의 업데이트를 수행 할 수 없습니다. 항상 업데이트에 오류가 있습니다.업데이트가 작동하지 않는 이유

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에 존재한다고 확신합니다. 사용되어야한다

+0

이어야하며 받고있는 오류 메시지는 무엇입니까? – AntonioOtero

+0

오류 : selector는 유효한 JavaScript 객체 여야합니다. – user2369478

답변

2

서명은

update(query, update, callback) 

입니다하지만 당신은 몽고에 아무것도 의미하지 않는다 query에 대한 문자열을 전달하고 있습니다. 개요를 보려면 the docs을보고 싶을 수 있습니다. 그러나이 특정 인스턴스의 경우 nombrecliente1.nombre 인 문자열과 같은 문서를 찾으려고합니다. 이 검색어는 사전 { nombre: cliente1.nombre }이므로 행은

db.clientes.update({nombre: cliente1.nombre}, {$set: {estado: "desconectado", nuevo: "no"}}, function(err) { 
관련 문제