javascript - Meteor 在尝试创建 ObjectID 时返回无效的十六进制字符串错误?

标签 javascript jquery mongodb meteor

我正在向数据库中插入一些内容并使用 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 的值是 _idinsert() 返回。

关于javascript - Meteor 在尝试创建 ObjectID 时返回无效的十六进制字符串错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222799/

相关文章:

MongoDB Mapredure 函数与 RockMongo

java - MongoDB Java 驱动程序比带有 $gte/$lte 的控制台慢得多

javascript - 如何从不同的函数计算值(value)

javascript - 在 DOM 中创建的文本节点在浏览器中不可见

javascript - 如何在 php 代码之间添加 jquery 字数统计和限制

jquery - 位置 x 时的 CSS 固定位置

javascript - 根据动态键数组从数组返回值

JQuery-Validation - 在选定的 ID 上使用规则方法,为什么元素上必须存在名称属性?

javascript - 如何隐藏屏幕外的图像?

node.js - MongoDB:$lookup 返回空数组