【发布时间】:2014-12-12 22:44:59
【问题描述】:
我正在使用字符串数组来保存电子邮件:
var user = new Schema({
// other fields...
emails: [String]
});
更新此字段时遇到问题。比如说,email1 和 email2 是我从视图中收到的值:
这很好用:
user.emails = [email1, email2];
user.save();
// fields are updated, all good
这不是:
user.emails[0] = email1;
user.emails[1] = email2;
user.save(function(err, savedUser) {
console.log(savedUser.emails); // updated array [email1, email2]
// but if I retrieve now the user, the 'emails' field will not have above changes.
});
但是,奇怪的是,这行得通:
user.emails = [email1];
user.emails[1] = email2;
user.save();
// user.emails == [email1, email2];
谁能解释为什么会这样?
【问题讨论】:
标签: node.js mongodb express mongoose