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