此Meteor服务器代码尝试更新Mongodb集合,但出现错误:
let originalDoc = original.fetch()[0];
Meteor.users.update(userId, {
$set: {
profile: originalDoc.profile,
cmpProfile: originalDoc.cmpProfile,
aaa: originalDoc.aaa
},
$unset: {
'profile.abc': 1
}
});
错误:
调用方法时出现异常' xyz' MongoError:无法更新'个人资料'和' profile.abc'同时
有什么想法吗? THX
答案 0 :(得分:1)
错误非常明显:您不能同时$set
整个profile
和$unset
profile.abc
因为MongoDB不允许此类操作。
您可以在运行查询之前调用$unset
而不是调用delete originalDoc.profile.abc;
,而是在设置整个嵌入文档时有效删除abc
中的profile
字段。