次の形式の mongo ドキュメントがあります。
Group: {
participants: [
userId,
userId,
userId
]
}
...ここで、userIds は明らかに Meteor 独自のユーザー ドキュメントの ObjectIds です。
私が本当に抱えている問題は、ユーザーがグループ内の他のユーザー情報を表示できるようにすることです。この実装では、安全な (読んでください: 自動公開と安全でないものを削除しました) グループ メッセージング システムを想像しています。
現在のパブリッシュの実装は次のようになります。
//grab all groups user belongs to
Meteor.publish("groups", function() {
var groups = Groups.find({
participants: {
$in: [ this.userId ]
}
});
return groups;
});
理想的には、公開を完了する前に操作するコードを実装して、各参加者のデータgroups
も公開したいと考えています。user.profile
想像される最終的な形式は次のようになります。
Group: {
participants: {
userId
},
users: {
{ //One of these for each user
userId,
firstName,
lastName,
otherData
}
}
}
私が気づいたことの 1 つは、自動公開と安全でないことがなければ、ヘルパー関数を介してクライアントでこれを行うことはできないということです。