我正在尝试运行聚合功能以获取到给定日期为止创建的文件数。当我从终端运行查询时,它正在运行,并且当我通过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}
谢谢