Sử dụng mongoskin.NodeJS & Mongoskin, không thể cập nhật đơn giản. Đối số được truyền vào phải là 12 byte hoặc 24 chuỗi hex
Tôi đang cố gắng để làm một bản cập nhật đơn giản và tôi tiếp tục nhận được lỗi:
Lỗi: Đối số được thông qua năm phải là một chuỗi duy nhất của 12 byte hoặc một chuỗi 24 ký tự hex trong định dạng hex
đoạn mã khác nhau mà tôi đã cố gắng:
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});
Thậm chí thử:
store.collection('sessions').update({'_id': session._id}, {$set: {"status":'unavailable'}});
Bất kỳ trợ giúp nào được đánh giá cao!
Cảm ơn FYI, tôi có thể làm các bản cập nhật qua Mongo sử dụng cli tốt:
db.sessions.update({'_id': ObjectId('4eb5444d39e153e60b000001')}, {$set: {"status":'unavailable'}});
Bạn có thể giải thích $ set bên trong {$ set: status_obj} làm gì không? – Sobiaholic
Tập $ cho biết mongo chỉ cập nhật các thuộc tính bạn cung cấp. Nếu không có nó, bạn sẽ xóa bất kỳ thuộc tính nào không được chuyển đến bản cập nhật. –