每次用户订阅"街道"或另一个"用户"时,我都想将他们的Id添加到当前用户的配置文件中的嵌套对象中。
我尝试了以下不同的结果:
Meteor.users.update(Meteor.userId(), {
$addToSet: {
'profile.subscription': { Street : streetDis
}
}
})
这会更新配置文件,但每次都会在数组中创建一个条目:
Profile.subscription[0] : Street : "eziajepozjaoeja"
Profile.subscription[1] : Street : "eezapoezkaejz"
Profile.subscription[2] : User : "akzejpazjepza"
我想要的架构如下:
Profile.subscription.Street[0] : "eziajepozjaoeja"
Profile.subscription.Street[1]:"eezapoezkaejz"
Profile.subscription.User[0]: "akzejpazjepza"
所以我尝试:
Meteor.users.update(Meteor.userId(), {
$addToSet: {
'a.profile.last.Adress': "akzejpazjepza"}
}
)
哪个返回:更新失败:拒绝访问
Meteor.users.update(Meteor.userId(), {
$addToSet: {
'a.profile': { last: {Adress : "akzejpazjepza"}}
}
})
这也会返回:更新失败:拒绝访问
如果您希望profile.subscription.streets
和profile.subscription.users
都是id的数组,那么您应该更新用户的文档,如下所示:
Meteor.users.update(Meteor.userId(), {
$addToSet: {
'profile.subscription.streets': streetId,
'profile.subscription.users': userId
}
});