Node.js 使用Express.js从MongoDB检索唯一ID

Node.js 使用Express.js从MongoDB检索唯一ID,node.js,mongodb,express,Node.js,Mongodb,Express,我是MongoDB的新手。我目前的代码如下: var app = express(); app.post('/myDB', function(req, res) { console.log('POSTed data'); db.myDB.insert(req.body, function(err, doc) { console.log(err); res.json(doc); }); }) 我知道,当数据插入MongoDB时,会创建一个唯一的_idkey:value对。我想在插

我是MongoDB的新手。我目前的代码如下:

var app = express();
app.post('/myDB', function(req, res) {
console.log('POSTed data');
db.myDB.insert(req.body, function(err, doc) {
    console.log(err);
    res.json(doc);
});
})

我知道,当数据插入MongoDB时,会创建一个唯一的_idkey:value对。我想在插入数据时访问此唯一id


但据我目前所知(承认不是很多),我必须做一个app.get('/myDB/:id')。。。(或类似的东西)以访问该唯一标识符。有没有一种方法可以在不发出额外http请求的情况下执行此操作?

在MongoDB中,使用Node.js驱动程序,可以从回调函数的第二个参数中获取。语法是:

collection.insert(docs[[, options], callback])
如果
docs
是单个文档对象或文档数组,
options
是选项对象,
callback
是插入记录后运行的回调函数。第二个参数返回插入的文档数组

因此,您可以通过以下方式检索插入的id:

var app = express();
app.post('/myDB', function(req, res) {
console.log('POSTed data');
db.myDB.insert(req.body, {w:1}, function(err, doc) {
    console.log("Record added as "+ doc[0]._id);
    res.json(doc);
});

您可以阅读有关文档的更多信息

您可以使用db.collection.save()检索插入的文档