Запрос мангуста выбирает правильные результаты, но я не могу получить доступ к данным.
Я хочу получить текущий максимальный идентификатор в базе данных, увеличить значение на 1 и сохранить данные в базе данных.
// add a new book
router.route('/books/add').post(jsonParser, (req, res) => {
Book.aggregate([{ $group: { _id: "id", id: { $max: "$id" } } }], (err, books) => {
if (!books)
return next(new Error("Could not load book!"))
else {
let book = new Book(req.body);
// log the max id returned, currently returns undefined
console.log("Id found ", books.id);
book.id = books.id + 1;
console.log("BookId ", book.id);
res.status(200).json({ 'book': 'Added successfully!' });
// book.save().then(book => {
// res.status(200).json({ 'book': 'Added successfully!' });
// }).catch(err => {
// res.status(400).send('Failed to create new record.');
// });
}
});
});
console.log(books.id)
возвращает undefined
, тогда как console.log(books)
показывает мне результат, равный [ { _id: 'id', id: 5 } ]
.Что я хочу сделать, это получить идентификатор, т.е. 5, как мне это сделать?Спасибо.