admin管理员组文章数量:1431994
I'm inserting some stuff into the database and updating it elsewhere using jQuery (give me a break, I'm new), after which I need to be able to click it and display some UI stuff, which means getting the ID. So I set the ID variable and then try and and then try and use it in the click event:
...
"click .message-entry" : function (e) {
var id = this._id || new Meteor.Collection.ObjectID(newMessageId);
Session.set('singleMessageId', id);
},
...
Should work in principle, however I get the following error returned:
Uncaught Error: Invalid hexadecimal string for creating an ObjectID
A breakpoint reveals that the ID is both a string and the ID of the newly inserted document. What could be going wrong here?
I'm inserting some stuff into the database and updating it elsewhere using jQuery (give me a break, I'm new), after which I need to be able to click it and display some UI stuff, which means getting the ID. So I set the ID variable and then try and and then try and use it in the click event:
...
"click .message-entry" : function (e) {
var id = this._id || new Meteor.Collection.ObjectID(newMessageId);
Session.set('singleMessageId', id);
},
...
Should work in principle, however I get the following error returned:
Uncaught Error: Invalid hexadecimal string for creating an ObjectID
A breakpoint reveals that the ID is both a string and the ID of the newly inserted document. What could be going wrong here?
Share Improve this question asked Oct 19, 2015 at 19:55 stykestyke 2,1742 gold badges27 silver badges54 bronze badges 4- (give me a break, I'm new) ?? So you are aware this may be the wrong approach, but feel it's more important to hack this together than possibly be shown a better approach? Inserting/updating items in the db and displaying them is a trivial task when you follow the established patterns. – JeremyK Commented Oct 19, 2015 at 20:44
-
Anyway, what is the
newMessageId
variable you are passing to Meteor.Collection.ObjectID? – JeremyK Commented Oct 19, 2015 at 20:45 -
Also the api is now
new Mongo.ObjectID([hexString])
– JeremyK Commented Oct 19, 2015 at 20:50 - @JeremyK it's for a personal project that I need to finish asap. The variable is the ID string of the inserted document as mentioned in the question. – styke Commented Oct 19, 2015 at 21:32
1 Answer
Reset to default 7By default, Meteor doesn't use Mongo's hexadecimal object IDs. You could either tell Meteor to use Mongo style IDs by passing {idGeneration: 'MONGO'}
into new MongoCollection()
, or (probably more easily) just use newMessageID
instead of new Mongo.ObjectID(newMessageID)
, if the value of newMessageID
is the _id
returned by insert()
.
本文标签: javascriptMeteor returns invalid hexadecimal string error trying to create ObjectIDStack Overflow
版权声明:本文标题:javascript - Meteor returns invalid hexadecimal string error trying to create ObjectID? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745500382a2661002.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论