我正在向数据库中插入一些内容并使用 jQuery 在其他地方更新它(让我休息一下,我是新手),之后我需要能够单击它并显示一些 UI 内容,这意味着获取ID。所以我设置了 ID 变量,然后尝试,然后尝试在点击事件中使用它:
...
"click .message-entry" : function (e) {
var id = this._id || new Meteor.Collection.ObjectID(newMessageId);
Session.set('singleMessageId', id);
},
...
原则上应该可以工作,但是我收到以下错误返回:
未捕获错误:用于创建 ObjectID 的十六进制字符串无效
断点显示 ID 既是字符串又是新插入文档的 ID。这里可能出了什么问题?
最佳答案
默认情况下,Meteor 不使用 Mongo 的十六进制对象 ID。您可以通过将 {idGeneration: 'MONGO'}
传递给 new MongoCollection()
来告诉 Meteor 使用 Mongo 样式 ID ,或者(可能更容易)只使用 newMessageID
而不是 new Mongo.ObjectID(newMessageID)
,如果 newMessageID
的值是 _id
由 insert()
返回。
关于javascript - Meteor 在尝试创建 ObjectID 时返回无效的十六进制字符串错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222799/