TypeError:db.getCollection不是函数

时间:2019-06-08 16:04:13

标签: javascript node.js mongodb mongoose

我正在尝试运行聚合功能以获取到给定日期为止创建的文件数。当我从终端运行查询时,它正在运行,并且当我通过API使用它时,我得到了错误。

TypeError: db.getCollection is not a function
    at app.get (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/routes/api/file.js:241:7)
    at Layer.handle [as handle_request] (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/express/lib/router/route.js:137:13)
    at complete (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport/lib/middleware/authenticate.js:263:13)
    at /Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport/lib/middleware/authenticate.js:270:15
    at pass (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport/lib/authenticator.js:431:14)
    at Authenticator.transformAuthInfo (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport/lib/authenticator.js:453:5)
    at /Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport/lib/middleware/authenticate.js:267:22
    at IncomingMessage.req.login.req.logIn (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport/lib/http/request.js:55:13)
    at JwtStrategy.strategy.success (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport/lib/middleware/authenticate.js:248:13)
    at verified (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/node_modules/passport-jwt/lib/strategy.js:115:41)
    at User.findOne.then.user (/Users/praveenkumarrana/Documents/Projects/Arema Technologies/Recorder Client/itsrecorder/config/passport.js:17:20)
    at process._tickCallback (internal/process/next_tick.js:68:7)

我已经遍历了此处提供的许多解决方案,但没有一个回答我的查询。我的应用是使用create-react-app创建的,后端位于nodeJs中。

app.get(
    "/getcountdata",
    passport.authenticate("jwt", { session: false }),
    (req, res) => {

    db.getCollection('files').aggregate({$group:{_id:{$toDate: new Date(12-12-2019)}, count:{$sum:1}}})
        .then(files => {
        console.log(files);
        res.send({ files });
        })
        .catch(e => {
        res.status(400).send();
        });
    }
);

我的预期结果是获取json形式的数据,如下所示。 {“ _id”:ISODate(“ 1969-12-31T23:59:57.981Z”),“ count”:14}

谢谢

0 个答案:

没有答案