Spring+MongoDB自定义查询运行缓慢
我有一个约 7000 个文档的 MongoDB 集合(称为“产品”),托管在 Mongo Atlas 共享集群上,看起来有点像这样:
{
identifier: 123,
archived: true,
/* Some other properties.. */
}
尝试以如下方式对上述集合运行简单查询:
mongoTemplate.find(
new Query().addCriteria(Criteria.where("archived").is(false)),
Product.class,
"Products");
导致执行时间非常长,在本地实例和部署 (Heroku) 版本上都为 8~9 秒。但是,当直接从MongoRepository<>,例如
运行相同的查询时repository.findByArchived(false),查询几乎立即运行(就像在 mongo CLI 中所做的那样)。
我是否遗漏了一些阻止mongoTemplate以更流畅的方式运行查询的附加配置,MongoRepository例如预先配置的(例如某些 bson/POJO 编码)?对此的任何帮助将不胜感激!