当前位置: 首页 > 知识库问答 >
问题:

TypeError:callback.apply是不是一个功能后,允许磁盘使用

阮阳曦
2023-03-14

我有一个包含100万文档的集合…我已经传递了回想磁盘使用的选项,现在它正在抛出错误

< code>TypeError: callback.apply不是函数

我已经找过了,但能找到解决办法…请帮帮我。

const pictures = await Picture.aggregate([
      { $sort: { createdAt: -1 }},
      { $group: {
        _id: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } },
        pictures: {
          $push: {
            _id: '$_id',
            image: '$image',
            time: { $dateToString: { format: "%H:%M:%S", date: "$createdAt" } }
          }
        }
      }},
      { $limit: 50 },
      { $project: {
        _id: false,
        createdAt: '$_id',
        pictures: '$pictures'
      }}
    ], { allowDiskUse: true })

Mongob版本-3.6

猫鼬版本-5.0

共有1个答案

许昆
2023-03-14

因为这是“猫鼬”。Mongoose API 中的 agregate() 方法上没有“选项”块。这是源链接,然后是文档。注意返回

它链接到 allowDiskUse(true),如文档中所示:

await Model.aggregate(..).allowDiskUse(true).exec()

您真的不需要在大多数聚合中使用该选项。获取警告消息通常表明您实际上丢失了索引,或者实际上是$匹配并过滤结果的任何理智尝试。

 类似资料:
  • 我在MongoTemplate中使用了allowDiskUse选项: 并且仍然收到此错误: 超出$group的内存限制,但不允许外部排序。请传递allowDiskUse:true以选择加入。 是不是被窃听了? 请注意,我使用的是mongo java客户端3.11和mongo atlas M2(v4.2.9) 我还尝试了batch大小和use Couror,但它不起作用

  • 在开发 morphia 时,我们遇到了以下错误: MongoDB:排序超出了104857600字节的内存限制 根据指南:http://www . mkyong . com/MongoDB/MongoDB-sort-exceed-memory-limit-of-104857600-bytes/,操作“允许使用磁盘”是解决方案。 我的问题: < li >如果morphia支持allowDiskUse操

  • 我有一个具有多个查找的mongo查询,但它返回了一个错误 排序超出了104857600字节的内存限制,但未选择外部排序。正在中止操作。传递allowDiskUse:true以选择加入 我已经在聚合查询中添加了allow disk size true < code>await Service.aggregate(管道)。allowDiskUse(true)。exec();

  • > 当同一主机上的两个进程使用网络套接字通信时,它们的套接字必须使用不同的端口吗? 我想是的,因为套接字由IP地址和端口号标识。如果进程的套接字使用相同的端口,则无法区分它们的套接字,对吗? 但是一个主机可以有多个网络接口,所以有多个IP地址。同一个主机上的多个网络接口是否可以共享一个端口,从而使两个套接字共享同一个端口? 例如,SSH本地端口转发由以下选项指定: 然后本地主机(SSH客户端运行的

  • 我有这个python代码: 我得到了一条错误消息:pymongo.errors。OperationFailure:超出$group的内存限制,但不允许外部排序。传递allowDiskUse:true以选择加入。 我如何使用allowDiskUse: true?

  • 我把它放在php中。ini文件: 但我仍然可以调用它们(tested exec和shell_exec)。我已经多次重新启动Web服务器。 (窗户下)。