微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我将一些东西插入数据库并使用jQuery在其他地方更新(给我一个休息时间,我是新的),之后我需要能够点击它并显示一些UI内容,这意味着获取ID.所以我设置了ID变量然后尝试然后尝试在click事件中使用它:

...

"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而不是新的Mongo.ObjectID(newMessageID),如果newMessageID的值是_id返回的话通过insert().

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐