$ sort在聚合管道mongo中不起作用

如何解决$ sort在聚合管道mongo中不起作用

我一直在解决这个问题,我完全不知道为什么这行不通。

我有一个庞大的“课程”集合,大约有1200万个文档,我想做并汇总其上的管道。这是我的代码:

const records = await Course.aggregate([
{
  $match: { swimmer: ObjectId('5fa750d9c4a9ca53c5347dc6') },},{
  $sort: { time: 1 },{
  $group: {
    _id: {
      season: '$season',bassin: '$bassin',type: '$type',disance: '$distance',course: { $first: '$$ROOT' },

])。allowDiskUse(true);

对于这个管道来说,只是找到我是否退出了排序阶段,但是不可能对此做出任何回应……代码待定,直到它引发我这个错误为止:

UnhandledPromiseRejection警告:MongoNetworkTimeoutError:与XXX.XXX.XX.XX的连接11:XXXX超时

我在排序之前先对数据进行匹配,以避免进行大范围的排序,仅排序大约200个文档,并且有一个准时索引

我真的不明白为什么这个聚合不能将结果发送给我...

有我的架构:

   const courseSchema = new mongoose.Schema({
  type: {
    bassin: {
      type: String,enums: ['25M','50M'],required: [true,'Une course doit avoir une taille de bassin'],nage: {
      type: String,enums: ['NAGE_LIBRE','BRASSE','DOS','PAPILLON','QUATRE_NAGES'],'Une course doit avoir un type de nage'],distance: {
      type: String,enums: ['50M','100M','200M','400M','800M','1500M'],'Une course doit avoir une distance'],time: { type: Number,'Une course doit avoir un temps'] },tempsPassages: {
    type: Map,of: Number,date: { type: Date,'Une course doit avoir une date'] },season: {
    type: Number,min: [2000,'La saison ne peut être inférieur à 2000'],max: [
      new Date().getFullYear() + 1,`La saison ne peut être supérieur à ${new Date().getFullYear() + 1}`,],'Une course doit avoir une saison'],place: { type: String,lowercase: true,trim: true },niveauCompetition: {
    type: String,enums: ['DEP','REG','NAT','ZON','INT'],// required: [true,'Une course doit avoir un niveau de compétition'],swimmer: {
    type: mongoose.Schema.ObjectId,ref: 'Swimmer','Une course doit avoir un nageur'],club: {
    name: {
      type: String,'Un club doit avoir un nom'],trim: true,// unique: [true,'Nom de club déjà existant'],_id: {
      type: mongoose.Types.ObjectId,ref: 'Club','Un club doit avoir un identifiant FFN'],departement: {
      type: String,'Un club doit avoir un département'],enum: enums.EDepartement,region: {
      type: String,'Un club doit avoir un région'],enum: enums.ERegion,country: {
      type: String,enum: ['FRANCE'],default: 'FRANCE',notes: {
    country: Number,region: Number,departement: Number,club: Number,swimmerAge: {
    type: Number,"L'age du nageur doit etre fourni"],swimmerCategory: {
    type: String,'La catégory du nageur doit etre fournie'],enums: ['AVENIRS','JEUNES','JUNIORS','SENIORS'],swimmerSex: {
    type: String,'Le sexe du nageur doit etre fournie'],enums: ['F','M'],});

数据库中有一个文档课程的例子 enter image description here

我试图按swimmerAge进行排序,而不是按时间排序,但一切正常,但按季节出现了同样的问题...

感谢您对我的帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res