如何使用猫鼬获取mongodb中最后一条记录的某些键值

我的问题很简单,我正在尝试使用mongoose从mongodb获取最新插入的记录的p_id值。 但是还没来。我不知道是什么原因。 我总是在控制台中getProductId是C2。

console.log(“最新插入记录的p_id =” + getProductId); //最新插入记录的p_id = C2

实际上,我想获取最新记录的p_id。

如何解决这个问题。

我的数据库记录在插入之前:

{
p_id:"C1",
p_name:"Test1",
p_age:25
},
{
p_id:"C2",
p_name:"Test2",
p_age:25
}

在每个api调用上插入一条新记录后:

{
p_id:"C1",
p_name:"Test1",
p_age:25
},
{
p_id:"C2",
p_name:"Test2",
p_age:29
},
{
p_id:"C3",
p_name:"Test3",
p_age:26,
__v:0
}

现在在我的控制台中,我想获取p_id值为C3,但我总是得到C2。

details.controller.js:

module.exports.insertData = async(req, res, next) => {

  var Product = mongoose.model(req.query.collectionname);

  var productId = await Product.findOne().sort({ p_id: -1 }).limit(1);
  var getProductId = productId.p_id;

  console.log("latest inserted record's p_id="+getProductId);

  var product = new Product({
         p_id:"C3",
         p_name:"Test3",
         p_age:26
  });

  product.save(function(error, document) { 

    //callback stuff here } );

  }); 
};
评论