Meteor 反应性地将某些字段从用户集合复制到自定义用户配置文件集合
Meteor reactively copy certain fields from user collection to custom userprofiles collection
在 Meteor 上,我安装了 konecty meteor-user-presence
(link) 包来为我的应用程序中的每个用户启用用户状态。这个包在 Meteor 用户集合上添加了额外的字段(状态、状态连接)。在我当前的应用程序设置中,我有一个名为 UserProfiles
的不同集合,用于存储有关每个用户的附加信息。我使用用户集合中的 id
作为 UserProfiles 集合的标识符,在字段 owner
.
下
有没有一种方法可以将来自用户集合的两个字段(status 和 statusConnection)的更新反应性地复制到自定义 UserProfiles 集合?
我可以使用另一个名为 collection-hooks
{matb33:collection-hooks} 的 Atmospherejs 软件包来实现此目的。我基本上将其添加到服务器上的 main.js 中:
Meteor.users.after.update(function (userId, doc, fieldNames, modifier) {
UserProfiles.update({
owner : doc._id
}, {
$set: {
status : doc.status
}
}, {multi: true})
});
此包为集合添加了一个挂钩。每次应用程序触发 Meteor.users 集合的更新时,基本上是每次 konecty meteor-user-presence
更改 user
集合中的 status
和 statusConnection
字段时, collection-hooks
包挂钩更新操作并执行其他任务。该软件包还有其他有用的挂钩,例如before.insert
、before.update
、before.remove
、after.insert
、after.update
和 after.remove
。
需要 {multi: true}
才能使行为应用于所有用户。我不知道这是否会对应用程序性能产生影响,我确信它会产生一些影响,尤其是当应用程序扩展到拥有大量用户群时。您应谨慎应用此解决方案。
这是一本很好的入门读物:A Look At Meteor Collection Hooks
在 Meteor 上,我安装了 konecty meteor-user-presence
(link) 包来为我的应用程序中的每个用户启用用户状态。这个包在 Meteor 用户集合上添加了额外的字段(状态、状态连接)。在我当前的应用程序设置中,我有一个名为 UserProfiles
的不同集合,用于存储有关每个用户的附加信息。我使用用户集合中的 id
作为 UserProfiles 集合的标识符,在字段 owner
.
有没有一种方法可以将来自用户集合的两个字段(status 和 statusConnection)的更新反应性地复制到自定义 UserProfiles 集合?
我可以使用另一个名为 collection-hooks
{matb33:collection-hooks} 的 Atmospherejs 软件包来实现此目的。我基本上将其添加到服务器上的 main.js 中:
Meteor.users.after.update(function (userId, doc, fieldNames, modifier) {
UserProfiles.update({
owner : doc._id
}, {
$set: {
status : doc.status
}
}, {multi: true})
});
此包为集合添加了一个挂钩。每次应用程序触发 Meteor.users 集合的更新时,基本上是每次 konecty meteor-user-presence
更改 user
集合中的 status
和 statusConnection
字段时, collection-hooks
包挂钩更新操作并执行其他任务。该软件包还有其他有用的挂钩,例如before.insert
、before.update
、before.remove
、after.insert
、after.update
和 after.remove
。
需要 {multi: true}
才能使行为应用于所有用户。我不知道这是否会对应用程序性能产生影响,我确信它会产生一些影响,尤其是当应用程序扩展到拥有大量用户群时。您应谨慎应用此解决方案。
这是一本很好的入门读物:A Look At Meteor Collection Hooks