@zhuravlev125

Как получить ID новой записи в MongoDB?

Есть такая структура документа в MongoDB
{
"_id" : ObjectId("58f7d556aa52ce456672a67e"),
"created" : ISODate("2017-04-19T21:23:34.315Z"),
"context_task" : [
    {
        "task" : "напишем немного текста ",
        "status" : false,
        "_id" : ObjectId("58f7d559aa52ce456672a67f")
    }
],
"head" : {
    "userID" : "58f48037fc894e19a3f7b81b",
    "head_task" : "пробный забег "
},
"__v" : 0
}

Добавляю данные в context_task.task с помощью следующего запроса
task.findOneAndUpdate({"_id": req.body.id_project},
            {$push: {'context_task': {'task': req.body.input_task,'status': false}}},{new: true},
            function (err, doc) {
                if (err) return next(err);
                var body = req.body.id_project+","+req.body.input_task;
                console.log(doc);
                res.status(200).send(body);
            });

Подскажите, как можно получить context_task._id новой записи после вставки? В данном случае возвращается весь документ целиком
  • Вопрос задан
  • 566 просмотров
Решения вопроса 1
@zhuravlev125 Автор вопроса
Может кому пригодится. Вопрос был решен следующим образом.
Task.findOneAndUpdate({"_id": req.body.id_project},
            {$push: {'context_task': {'task': req.body.input_task,'status': false}}},{new: true},
            function (err, doc) {
                if (err) return next(err);
                console.log(doc.context_task[doc.context_task.length-1]._id);//получаем ID новой записи 
                res.status(200).send();
            });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы