Javascript Meteor返回无效的十六进制字符串尝试创建ObjectID时出错?
我正在将一些内容插入数据库,并使用jQuery在其他地方更新它(让我休息一下,我是新的),之后我需要能够单击它并显示一些UI内容,这意味着获取ID。因此,我设置了ID变量,然后尝试,然后尝试在单击事件中使用它:Javascript Meteor返回无效的十六进制字符串尝试创建ObjectID时出错?,javascript,jquery,mongodb,meteor,Javascript,Jquery,Mongodb,Meteor,我正在将一些内容插入数据库,并使用jQuery在其他地方更新它(让我休息一下,我是新的),之后我需要能够单击它并显示一些UI内容,这意味着获取ID。因此,我设置了ID变量,然后尝试,然后尝试在单击事件中使用它: ... "click .message-entry" : function (e) { var id = this._id || new Meteor.Collection.ObjectID(newMessageId); Session.set('singleMessa
...
"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'}
传递给Meteor来告诉Meteor使用Mongo样式的id,或者(可能更容易)只使用newMessageID
而不是new Mongo.ObjectID(newMessageID)
,如果newMessageID
的值是insert()
返回的id
(让我休息一下,我是新来的)??因此,您知道这可能是错误的方法,但觉得将其整合起来比展示更好的方法更重要?按照既定模式在数据库中插入/更新项目并显示它们是一项微不足道的任务。总之,您传递给Meteor.Collective的newMessageId
变量是什么on.ObjectID?api现在是@JeremyK,这是一个我需要尽快完成的个人项目。变量是问题中提到的插入文档的ID字符串。就是这样。谢谢。