Mongodb 自定义meteor帐户包仅在部署到module.io上时才会引发错误

Mongodb 自定义meteor帐户包仅在部署到module.io上时才会引发错误,mongodb,meteor,modulus.io,Mongodb,Meteor,Modulus.io,我已经编写了一个自定义帐户包,通过我们的内部系统验证用户的电子邮件和密码。当在我或任何其他人的计算机上本地运行时,这工作正常;用户可以登录并使用我们的meteor应用程序。最近,我已将该应用部署到。部署进展顺利,没有任何错误,我可以加载网站的主页并执行不需要登录的操作。但是,当我尝试登录时,客户端说我输入了错误的用户名/密码组合,服务器抛出此异常: Exception while invoking method 'login' Error: setUserId must be called on

我已经编写了一个自定义帐户包,通过我们的内部系统验证用户的电子邮件和密码。当在我或任何其他人的计算机上本地运行时,这工作正常;用户可以登录并使用我们的meteor应用程序。最近,我已将该应用部署到。部署进展顺利,没有任何错误,我可以加载网站的主页并执行不需要登录的操作。但是,当我尝试登录时,客户端说我输入了错误的用户名/密码组合,服务器抛出此异常:

Exception while invoking method 'login' Error: setUserId must be called on string or null, not object
    at [object Object]._.extend._setUserId (packages/ddp/livedata_server.js:701:1)
    at [object Object].setUserId [as _setUserId] (packages/ddp/livedata_server.js:634:1)
    at [object Object]._.extend.setUserId (packages/ddp/livedata_common.js:100:1)
    at loginUser (packages/accounts-base/accounts_server.js:206:1)
    at attemptLogin (packages/accounts-base/accounts_server.js:255:1)
    at [object Object].Meteor.methods.login (packages/accounts-base/accounts_server.js:411:1)
    at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1)
    at packages/ddp/livedata_server.js:648:1
    at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
    at packages/ddp/livedata_server.js:647:1
如您所见,异常的堆栈跟踪从不涉及任何文件,除了
accounts\u base
ddp
包中的文件外,这两个包都是由Meteor开发组开发的。这一点,再加上我的本地机器上一切正常工作的事实,使我相信错误来自
module.io
的配置方式,而不是我自己的代码

我的问题似乎与某人和我犯了同样的错误有关。不同之处在于,他们处理的是一个已经有用户的数据库。我设置的module.io MongoDB数据库是完全空的,除了
roles
meteor包使用的一些条目。通过查看我的accounts包,我从来没有手动添加对象作为用户ID,这也会导致项目无法在我的本地机器上工作


任何帮助都将不胜感激。提前谢谢

我没有试过模,但您可能应该检查您的
用户
集合,看看用户id是什么样子的。MongoDB默认使用
ObjectId
s,可能有某种原因迫使
useraccounts
创建的ID转换为
ObjectId
。这将是一个很好的开始。我还没有尝试过模数,但您可能应该检查您的
用户
集合,看看用户id是什么样子。MongoDB默认使用
ObjectId
s,可能有某种原因迫使
useraccounts
创建的ID转换为
ObjectId
。那将是一个很好的起点。