Почему обновление не работает

Я передаю переменную 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;
}

Я также попытался удалить свою БД и создать еще один раз, и я уверен, что мой объект существует в моей БД.

1 ответ

Решение

Подпись, которую вы должны использовать,

update(query, update, callback)

но вы передаете строку для query, что ничего не значит для Монго. Возможно, вы захотите взглянуть на документы для обзора, но для этого конкретного случая, похоже, вы пытаетесь найти документ, где nombre равно строке в cliente1.nombre, Запрос на это словарь { nombre: cliente1.nombre }так что строка должна быть

db.clientes.update({nombre: cliente1.nombre}, {$set: {estado: "desconectado", nuevo: "no"}}, function(err) {
Другие вопросы по тегам