使用mongoskin.
我正在尝试进行简单的更新,并继续收到错误:
错误:传入的参数必须是12个字节的单个字符串或十六进制格式的24个十六进制字符的字符串
我试过的不同代码:
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} );
甚至试过:
store.collection('sessions').update( {'_id': session._id}, {$set: {"status":'unavailable'}} );
任何帮助赞赏!
谢谢Fyi,我可以通过mongo使用cli进行更新:
db.sessions.update( {'_id': ObjectId('4eb5444d39e153e60b000001')}, {$set: {"status":'unavailable'}} );
PaulM.. 17
store.collection('sessions').updateById(session._id.toString(), {$set: status_obj} );
添加.toString()最终解决了这个问题.
store.collection('sessions').updateById(session._id.toString(), {$set: status_obj} );
添加.toString()最终解决了这个问题.