4
我使用字符串數組用來保存電子郵件「字符串數組」:貓鼬:指定類型的字段
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];
有人可以解釋爲什麼會發生這種情況嗎?
非常感謝! 你知道嗎?在我的測試中,它不會觸發字段變化檢測? – eagor 2014-10-17 13:30:01
@eagor哪種情況出乎意料地在您的測試中工作? – JohnnyHK 2014-10-17 13:36:48
單獨設置元素(user.emails [0] = email1 ...)。在'dev'環境中沒有效果,但在'test'中運行良好(更新了新檢索對象的數組) – eagor 2014-10-17 13:46:59