4
내가 사용 배열 타입의 필드를 할당 '문자열의 배열'이 :몽구스 : 이메일을 저장하는 문자열의
var user = new Schema({
// other fields...
emails: [String]
});
이 필드를 업데이트하는 문제 되세요. 말, 이메일 1과 EMAIL2 값이다 내가보기에서 나타납니다 이상하게도,이 작품,
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];
이 잘 작동
:
user.emails = [email1, email2];
user.save();
// fields are updated, all good
을 그리고 이것은하지 않습니다
왜 이런 일이 일어 났는지 설명 할 수 있습니까?
많은 감사를! 현장 변경 감지를 사용하지 않고도 내 테스트에서 어떻게 작동 할 수 있는지 알고 있습니까? – eagor
@eagor 예기치 않게 테스트에서 어떤 경우가 작동합니까? – JohnnyHK
요소를 개별적으로 설정합니다 (user.emails [0] = email1 ...). 'dev'환경에서는 효과가 없었지만 'test'에서는 잘 작동했습니다 (새로 검색된 객체의 배열이 업데이트되었습니다). – eagor