我有收集" doc"包含一个名为" topic"的字段。它被初始化为-1,当我得到主题时,我用相应的主题更新字段,例如体育。当我在 PyMongo db["doc"].find({"topic": -1}).sort("time",pymongo.DESCENDING).batch_size(batch_size)
中进行查询时
我得到了
数据库错误:getMore执行程序错误:溢出排序阶段缓冲数据使用量33554846字节超出内部限制33554432字节
但是,当我在mongo shell上运行此查询时:
db.doc.find({"topic":-1}).sort({"time":-1}).batchSize(10000)
,它没有任何问题。我有单个索引 - {time:-1},{topic:1}和复合索引 - {topic:1,time:-1}(复合索引)。这种行为有什么理由吗?