考虑以下架构
Var Schema = new Schema({
username: {Type: String},
...
...
contacts: {
email: {Type: String},
skype: {Type: String}
}
})
由于每个用户只能声明一封电子邮件和Skype,我不想将数组与联系人一起使用。
丢弃数据库查询和错误处理我尝试做类似的事情
// var user is the user document found by id
var newValue = 'new@new.new';
user['username'] = newValue;
user['contacts.$.email'] = newValue;
console.log(user['username']); // logs new@new.new
console.log(user['contacts.$.email']); // logs new@new.new
user.save(...);
没有错误发生并且用户名被成功更新,而联系人子文档仍然是空的。我在那里想念什么?