【发布时间】:2020-05-08 00:11:35
【问题描述】:
我收集了一个名为“工作”的文档:
{
"_id": "4bb131682d0682845098eabe",
"jobId": "1403610",
"refmdList": [
{
"_id": "4bb11af1f8d48284e0b2ef87",
"addrIdx": 1,
"type": "primary"
}
],
"status": "Created in J4",
}
Java 代码用于查找该作业文档:
private DBCursor getRefMdCursor(String refId)
{
DB db = JDatabase.getDatabase();
BasicDBObject search = new BasicDBObject();
search.put("refmdList._id", refId);
DBCollection col = db.getCollection("jobs");
DBCursor cur = col.find(search);
return cur;
}
这非常慢,并且 refmdList._id 没有被索引。是索引这个数组对象字段以加快它的解决方案还是上面的 DBCursor 代码有问题?
DBCursor 类来自 mongodb/mongo-java-driver/3.4.3/mongo-java-driver-3.4.3.jar
【问题讨论】:
-
有多少条记录匹配这个查询?你试过.toArray()方法吗?