gpt4 book ai didi

java - 如何对mongodb中FIND命令获取的文档进行排序?

转载 作者:行者123 更新时间:2023-12-01 08:50:17 24 4
gpt4 key购买 nike

我收集了大约 1000 万条记录。因为它有companyID和员工级别,两者都按升序索引。

当我将查询编写为 db.collection.find("companyID":"XXX") 时,mongo 会非常快地返回结果,但是当我对其应用排序时

db.collection.find("companyID":"XXX").sort({"empLevel":1})

这需要花费很多时间,因为我们有 100000 条记录。

尽管这两个字段都已建立索引,但处理和返回结果需要花费大量时间。请帮助如何解决此类问题...

最佳答案

java中的解决方案

导入这些

import static com.mongodb.client.model.Sorts.*;
import static com.mongodb.client.model.Filters.*;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
import org.bson.conversions.Bson;

代码

MongoCollection <Document> images = mongo.getCollection("nameofcollection");    
Bson sort = descending("empLevel");
FindIterable<Document> iterdoc = album.find(eq("companyID",XXX)).sort(sort);

关于java - 如何对mongodb中FIND命令获取的文档进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42438887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com