我正在尝试插入这样的新字段,并且我收到了写入错误 如果我删除这一行,该程序工作正常。
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)
答案 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分享您的代码),但您可能需要查看使用会话。
会话参考: