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().

相关文章

MongoTemplate 是Spring Data MongoDB 中的一个核心类,为 S...
笔者今天要分享的是一个项目重构过程中如何将数据库选型由原...
mongodb/mongoTemplate.upsert批量插入更新数据的实现
进入官网下载官网安装点击next勾选同意,点击next点击custom...
头歌 MongoDB实验——数据库基本操作
期末考试复习总结