我将一些东西插入数据库并使用jQuery在其他地方更新(给我一个休息,我是新的),之后我需要能够点击它并显示一些UI内容,这意味着获取ID。所以我设置了ID变量然后尝试然后尝试在click事件中使用它:
...
"click .message-entry" : function (e) {
var id = this._id || new Meteor.Collection.ObjectID(newMessageId);
Session.set('singleMessageId', id);
},
...
原则上应该有效,但是我收到了以下错误:
Uncaught Error: Invalid hexadecimal string for creating an ObjectID
断点显示ID既是字符串又是新插入文档的ID。这可能会出错?
答案 0 :(得分:5)
默认情况下,Meteor不使用Mongo的十六进制对象ID。您可以通过将{idGeneration: 'MONGO'}
传递到new MongoCollection()
来告诉Meteor使用Mongo样式ID,或者(可能更容易)只使用newMessageID
代替new Mongo.ObjectID(newMessageID)
,如果值{ {1}}是newMessageID
返回的_id
。