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?
By 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()
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With