【发布时间】:2014-07-25 20:30:28
【问题描述】:
我正在使用 Meteor,并且有一个关于覆盖 Meteor 用于用户 ID 的类型的默认行为的问题。
我希望用户由 ObjectId 类型的 _id 字段唯一标识,而不是 Meteor 默认为(字符串?)的任何类型。我可以在某处设置类似配置参数的东西吗?
【问题讨论】:
我正在使用 Meteor,并且有一个关于覆盖 Meteor 用于用户 ID 的类型的默认行为的问题。
我希望用户由 ObjectId 类型的 _id 字段唯一标识,而不是 Meteor 默认为(字符串?)的任何类型。我可以在某处设置类似配置参数的东西吗?
【问题讨论】:
简答:
您不能将 Objectd 用于 users 集合的 _id 属性。
长答案:
这已作为bug report at github 发布,但很遗憾被拒绝了。
拒绝的理由是,虽然有争议,但核心软件包需要一些设计决策,以实现简单性和稳健性。他们确实有道理,为此错误报告 +1 的开发人员也是如此(我就是其中之一)。
还有一个pull request 来解决另一个问题,同时解决这个问题,但由于一些不兼容而被拒绝。
如果您真的需要一个需要全部 ObjectId 的解决方案,您最安全的选择是创建自己的帐户包,您可以通过根据您的需要分叉原始帐户包来实现。
事实上,my comment 在那个问题上建议对源代码进行快速而肮脏的修复,在需要字符串的登录流程期间检查用户的 id。您可以为包更改该检查以接受 ObjectId。
【讨论】: