Closed nmorse closed 13 years ago
I'm sorry, not that I know of. Once again... it would be great if somebody could help.
An idea that might work would to be simply find() right after you insert - since Mongo stores (generally) in order of insertion. That means the first (or last?) element returned should be the one you just inserted. And you can get its _id from that. This of course... could be dangerous, since it is a race-condition.
It would be nice if the api exposes the ObjectId constructor, so we can set the id manually and thus know for sure what it is
the mongo shell lets you do:
id = new ObjectId()`
Maybe mongous could expose this as:
id = mongous.gen_id()
And, while we're at it, maybe let the 'insert' method do this automatically; that is, before it actually inserts the object, it could check whether it has _id
, and if not, assign it a new one, so that mongous itself knows the id before hand.
I just found out this is already available
oid = require("mongous/bson/bson.js").ObjectID
Thanks, yeah node-mongodb-driver's BSON files (included in mongous) has that with the ObjectID as you have found.
I've upgraded Mongous to include all the new BSON stuff, as well as to make sure it converts Long numbers back into integers when you find() them. I need to push an update to the repo here...
I am looking for a way to get the last inserted _id. It would be a nice api feature. Ideas? Thanks