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