Ionică Bizău Ionică Bizău - 4 months ago 32
Node.js Question

Get the _id of inserted document in Mongo database in NodeJS

I use NodeJS to insert documents in MongoDB. Using

collection.insert
I can insert a document into database like in this code:

// ...
collection.insert(objectToInsert, function(err){
if (err) return;
// Object inserted successfully.
var objectId; // = ???
});
// ...


How can I get the
_id
of inserted object?

Is there any way to get the
_id
without getting latest object inserted
_id
?

Supposing that in same time a lot of people access the database, I can't be sure that the latest id is the id of object inserted.

Answer

There is a second parameter for the callback for collection.insert that will return the doc or docs inserted, which should have _ids.

Try:

collection.insert(objectToInsert, function(err,docsInserted){
    console.log(docsInserted);
});

and check the console to see what I mean.

you can also try it here: https://runnable.com/UTpPRysNM0MHAGAk/server.js