更改 'status' 默认 属性 名称
Changing the 'status' default property name
我刚刚尝试了一个很好的包,叫做 "meteor-user-status"
来自 https://github.com/mizzao/meteor-user-status
我对默认设置有一些问题 'status' 属性
我可以更改默认的 'status' 属性 名称吗??
"status" : {
"online" : false,
"lastLogin" : {
"date" : ISODate("2018-07-19T16:26:02.326+07:00"),
"ipAddr" : "127.0.0.1",
"userAgent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
}
}
因为当我制作用户播种机时它被替换了。像这样:
if (Meteor.users.find().count() === 0) {
var i = 0;
for (i = 0; i<users.length ; i++) {
Accounts.createUser({
username: users[i].username,
email: users[i].emails[0].address,
password: 'secret',
profile : users[i].profile
});
Meteor.users.update({ "emails.0.verified": false }, {
$set: {"emails.0.verified" :true, status: 'a', roles: users[i].roles}
});
}
}
因为,我的'status: a'是为了让用户可以登录应用程序
非常感谢
为了回应您无法真正重构您的领域,您还有一些选择。
其他套餐
还有其他处理用户状态的状态包。也许他们使用的存储信息的方法不同于对用户使用 status
。
见https://atmospherejs.com/?q=user-presence
部分重构
这将是两个结构的合并。您使用的包在状态上保存了一个对象。
因此重构可以来自
status: 'a'
到 status: { a: true } where
a` 不会与其他状态字段冲突,只要它的名称不同于所有其他状态字段。
或许您可以说服您的架构师考虑此选项。
分叉并自定义包
您可以分叉包并制作它的本地副本。如果你本地的包版本高于大气层的版本,meteor会在没有指定版本的情况下优先使用本地的。
在您的本地包中,您现在可以使用不同于 status
的字段名称。
如果您找到一种方法来自定义字段名称,同时保持向后兼容,您甚至可以创建一个拉取请求 GitHub,从而改进包,这样其他人就不会遇到同样的麻烦。
我刚刚尝试了一个很好的包,叫做 "meteor-user-status"
来自 https://github.com/mizzao/meteor-user-status
我对默认设置有一些问题 'status' 属性
我可以更改默认的 'status' 属性 名称吗??
"status" : {
"online" : false,
"lastLogin" : {
"date" : ISODate("2018-07-19T16:26:02.326+07:00"),
"ipAddr" : "127.0.0.1",
"userAgent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
}
}
因为当我制作用户播种机时它被替换了。像这样:
if (Meteor.users.find().count() === 0) {
var i = 0;
for (i = 0; i<users.length ; i++) {
Accounts.createUser({
username: users[i].username,
email: users[i].emails[0].address,
password: 'secret',
profile : users[i].profile
});
Meteor.users.update({ "emails.0.verified": false }, {
$set: {"emails.0.verified" :true, status: 'a', roles: users[i].roles}
});
}
}
因为,我的'status: a'是为了让用户可以登录应用程序
非常感谢
为了回应您无法真正重构您的领域,您还有一些选择。
其他套餐
还有其他处理用户状态的状态包。也许他们使用的存储信息的方法不同于对用户使用 status
。
见https://atmospherejs.com/?q=user-presence
部分重构
这将是两个结构的合并。您使用的包在状态上保存了一个对象。
因此重构可以来自
status: 'a'
到 status: { a: true } where
a` 不会与其他状态字段冲突,只要它的名称不同于所有其他状态字段。
或许您可以说服您的架构师考虑此选项。
分叉并自定义包
您可以分叉包并制作它的本地副本。如果你本地的包版本高于大气层的版本,meteor会在没有指定版本的情况下优先使用本地的。
在您的本地包中,您现在可以使用不同于 status
的字段名称。
如果您找到一种方法来自定义字段名称,同时保持向后兼容,您甚至可以创建一个拉取请求 GitHub,从而改进包,这样其他人就不会遇到同样的麻烦。