Javascript MongoDB-插入项的返回id
从下面的教程开始 我有以下步骤在数据库中创建订单Javascript MongoDB-插入项的返回id,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,从下面的教程开始 我有以下步骤在数据库中创建订单 exports.createOrder = function(req,res){ var db = new mongoOp(); var response = {}; db.userId = req.body.userId; db.userEmail = req.body.userEmail; db.userOrder = req.body.userOrder; db.save(function(err){
exports.createOrder = function(req,res){
var db = new mongoOp();
var response = {};
db.userId = req.body.userId;
db.userEmail = req.body.userEmail;
db.userOrder = req.body.userOrder;
db.save(function(err){
if(err)
{
response = {"error" : true,"message" : "Error adding data"};
}
else
{
response = {"error" : false,"message" : "Data added"};
}
res.json(response);
});
}
如何从DB.save()中返回插入项的id以及响应?save函数返回一个WriteResult对象,其中包含添加对象的id作为属性。视图,所以试着像下面那样记录它,看看你得到了什么
db.save(function(err, result){
if(err)
{
response = {"error" : true,"message" : "Error adding data"};
}
else
{
console.log(result._id);
response = {"error" : false,"message" : "Data added"};
}
res.json(response);
});
db.save()
函数的回调函数接受两个参数,其中第二个参数将为您提供插入或更新的结果。如果您没有为\u id
提供要保存的数据,mongodb将生成一个id,并将其分配给\u id
的键
因此,如果您试图从结果中获取\u id
,您会发现如下内容:对象id(“50691737d386d8fadbd6b01d”)
,您可以将其添加到响应对象中
db.save(function(err, result){
if(err) {
response = { error: true, message: "Error adding data" };
} else {
response = { error: false, message: "Data added", id: result._id };
}
res.json(response);
});
希望答案对你有帮助