Вы можете получить доступ к обновленному документу, используя опцию {new: true}
, а последний идентификатор в массиве пакетов документов - это недавно созданный идентификатор.
Итак, изменения:
1- ) добавить { new: true }
параметр в качестве 3-го параметра
2-) получить последний сгенерированный идентификатор: const batchId = doc.batches[doc.batches.length - 1]._id;
batchRoutes.route("/add/:id").post(function (req, res) {
Product.findOneAndUpdate(
{ _id: req.params.id },
{ $push: { batches: req.body } },
{ new: true },
function (err, doc) {
if (err) {
return res.json({ status: false });
} else {
if (doc) {
const batchId = doc.batches[doc.batches.length - 1]._id;
return res.json({ status: true, batchId });
} else {
return res.status(404).json({ status: false });
}
}
}
);
});