我试图用这个管道执行.aggregate()函数,但是我得到了以下错误:
UnhandledPromiseRejectionWarning: TypeError: User.find(...).select(...).sort(...).aggregate is not a functionconst users = await User
.find(findParams)
.select(userResponse)
.sort(sortParams)
.aggregate([
{$group: {_id: "$_id", dateCreated: {$first: "$dateCreated"}}},
{$set: {dateCreated: {$dateToString: {format: "%d.%m.%G %H:%M:%S", date: "$dateCreated"}}}}
])
.exec()用户是我从MongoDB收集的。是否需要更多管道来拒绝此错误?谢谢
发布于 2020-08-26 09:40:39
.find()返回一个不能调用.aggregate()的游标。您需要将聚合管道直接传递给.aggregate()。
const users = await User.aggregate([
{$group: {_id: "$_id", dateCreated: {$first: "$dateCreated"}}},
{$set: {dateCreated: {$dateToString: {format: "%d.%m.%G %H:%M:%S", date: "$dateCreated"}}}}
])
.exec()发布于 2020-08-26 09:41:17
你好,我的朋友聚合()方法仅用于模式,如下所示
const users = await User
.aggregate([
{$group: {_id: "$_id", dateCreated: {$first: "$dateCreated"}}},
{$set: {dateCreated: {$dateToString: {format: "%d.%m.%G %H:%M:%S", date: "$dateCreated"}}}}
])
.exec()跟踪这个文档,您将得到更好的聚合()方法的概念。
https://stackoverflow.com/questions/63594782
复制相似问题