在Meteor中获取Mongo写入错误

时间:2014-11-07 07:38:41

标签: mongodb meteor

我正在尝试插入这样的新字段,并且我收到了写入错误 如果我删除这一行,该程序工作正常。

UserDetails.update({userId: Meteor.UserId()}, {$inc: {score: 5}});    

错误跟踪是:

I20141107-12:55:38.278(5.5)? Exception in Mongo write: TypeError: object is not a function
I20141107-12:55:38.323(5.5)?     at packages/mongo/mongo_driver.js:293
I20141107-12:55:38.323(5.5)?     at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108)

1 个答案:

答案 0 :(得分:3)

我相信你只是有一个错字。它应该是Meteor.userId()

参考:https://docs.meteor.com/#/basic/Meteor-userId

更新(2014年9月9日):我突然意识到您正在使用Meteor.userId()从Meteor.users集合中获取当前用户ID。但看起来您正在尝试更新名为UserDetails的集合中的用户的分数。更新特定用户标识的语法如下:

UserDetails.update("biwyMQCriR3KDFHod", {$inc: {score: 5} });

其中"biwyMQCriR3KDFHod"(带双引号)是该用户的唯一ID值。

我不确定您是如何进行更新的(也许您可以使用http://meteorpad.com分享您的代码),但您可能需要查看使用会话。

会话参考: