Node.js mongoose中的聚合管道算子
如何在nodejs中使用Mongoose使用MongoDB聚合管道操作符 我正在尝试使用聚合计算日期数据Node.js mongoose中的聚合管道算子,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,如何在nodejs中使用Mongoose使用MongoDB聚合管道操作符 我正在尝试使用聚合计算日期数据 Walkins.aggregate([ { $match:{'subscriberId': subsc._id}, },{ $project:{'da
Walkins.aggregate([
{
$match:{'subscriberId': subsc._id},
},{
$project:{'date':{ $convert: { input:'$created', to: "date"} },
} },{
$project:{ 'dates': { $dateToString : { format: "%Y-%m-%d", date: "$created" } }} ,
},{
$group:{
_id:{'date': '$created'} ,
walkinsCount :{$sum: 1 }
}
}
]).then((walkins)=>{ });
但这是令人痛心的“MongoError:无法识别的表达式“$convert”错误
$toDate
仅在4.0及以上版本中可用,您可以看到它是在4.0版中编写的新版本。
这意味着您不能在MongoDB安装低于4.0版的任何东西时使用它
如果您使用Ubuntu并使用apt install MongoDB
安装MongoDB,它将安装版本3.6.3
查看有关如何为您的操作系统安装和运行最新版本的官方文档。使用$convert'
的任意位置?是的,在第一次查询中使用-,如果我使用$toDate,则会给MongoError:无法识别的表达式“$toDate””错误您的mongoose和mongodb版本是什么?“mongoose”:“^5.1.3”,mongodb:3.6.6
Walkins.aggregate([
{
$match:{'subscriberId': subsc._id},
},{
$project:{'date':{ $toDate:'$created'} },
} },{
$project:{ 'dates': { $dateToString : { format: "%Y-%m-%d", date: "$created" } }} ,
},{
$group:{
_id:{'date': '$created'} ,
walkinsCount :{$sum: 1 }
}
}
]).then((walkins)=>{ });