Utilizando mongoskin.NodeJS & Mongoskin, no se puede hacer una actualización simple. El argumento pasado debe ser de 12 bytes o de 24 cadenas hexagonales
que estoy tratando de hacer una actualización sencilla y sigo en conseguir el error:
error: argumento pasado en debe ser una única cadena de 12 bytes o una cadena de 24 caracteres hexadecimales en formato hexadecimal
código diferente que he intentado:
var mongo = require('mongoskin'),
store = mongo.db(MONGO_DB_ADDESS + ':' + MONGO_DB_PORT + '/' + MONGO_DB_NAME + '?auto_reconnect=false');
session._id = 4eb5444d39e153e60b000001;
store.collection('sessions').updateById({_id : session._id}, {$set: status_obj}, {upsert : false, multi : false, safe : false}, function() { ... });
store.collection('sessions').updateById(session._id, {$set: status_obj});
Incluso intentado:
store.collection('sessions').update({'_id': session._id}, {$set: {"status":'unavailable'}});
¡Cualquier ayuda apreciada!
Gracias FYI, puedo hacer la actualización a través mongo mediante la CLI bien:
db.sessions.update({'_id': ObjectId('4eb5444d39e153e60b000001')}, {$set: {"status":'unavailable'}});
¿Puede explicar qué hace el $ set dentro de {$ set: status_obj}? – Sobiaholic
El $ set le dice a mongo que solo actualice las propiedades que proporcione. Sin él, eliminará cualquier propiedad que no se haya pasado a la actualización. –