最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何从一个的NodeJS猫鼬聚集查询获取数据

IT培训 admin 3浏览 0评论

如何从一个的NodeJS猫鼬聚集查询获取数据

猫鼬查询获取正确的结果,但我无法访问数据。

我想当前的最大ID在数据库中,由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)返回undefinedconsole.log(books)不告诉我的结果是[ { _id: 'id', id: 5 } ]。我想要做的就是标识即5,我该怎么做呢?谢谢。

回答如下:

该汇总查询结果是一个数组,而您必须使用零的索引来获得它是一个对象包含你的结果的第一要素。尝试这个:

console.log(books[0].id)

如何从一个的NodeJS猫鼬聚集查询获取数据

猫鼬查询获取正确的结果,但我无法访问数据。

我想当前的最大ID在数据库中,由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)返回undefinedconsole.log(books)不告诉我的结果是[ { _id: 'id', id: 5 } ]。我想要做的就是标识即5,我该怎么做呢?谢谢。

回答如下:

该汇总查询结果是一个数组,而您必须使用零的索引来获得它是一个对象包含你的结果的第一要素。尝试这个:

console.log(books[0].id)
发布评论

评论列表 (0)

  1. 暂无评论