我有以下代码行
exports.add = function(req, res){
res.app.db.models.User.update(
{ username: {$in: ["user1","user2"]} },
{ fullname: "Test" },
{ multi: true },
function(err, numberAffected, raw){
if (err) res.send(err);
console.log('The number of updated users was %d', numberAffected);
res.send();
});
};
运行后我从日志中收到了这条消息:
The number of updated users was NaN
如果我从数组中删除“user2”,它可以正常工作
The number of updated users was 1
所以$ in中有什么问题?我的猫鼬版本是3.8.2。请帮帮我。
- - - - - - - - 修订
这是我的用户架构
var userSchema = new Schema({
username: { type: String, required: true, index: { unique: true } },
password: { type: String, required: false },
fullname: { type: String, required: true },
facebook_id: { type: String, required: false },
avatar: String,
created_at: { type: Date, default: Date.now },
groups: [{ type: Schema.Types.ObjectId, ref: 'groups' }],
tasks: [{ type: Schema.Types.ObjectId, ref: 'tasks' }]
});
我刚刚发现了一个奇怪的新事物:在我更新单个文档用户名后:'user1' - > fullname:'Test',然后使用相同的全名'Test'更新user2,我得到了上面的错误NaN。但是如果使用不同的全名,例如'Test2',则没有错误,并且user2已成功更新。这让我很困惑。