我有一个集合,我在一个已命名的符号上有一个索引。
我已经阅读了在查询上使用提示的好处,这会降低查询的速度
db.collection.find({"symbol" : "RESD"}).hint( { symbol: 1 } )
有人可以告诉我如何在java中使用Indexed hint Option Query,现在这是我的代码。
BasicDBObject query = new BasicDBObject();
query.put("symbol", symbol);
DBCursor cursor = coll.find(query);
答案 0 :(得分:2)
使用新的(3.x)驱动程序,您需要指定$ hint:
private static void testHint(MongoDatabase db) {
MongoCollection<Document> col = db.getCollection("Stores");
FindIterable<Document> iterable = col.find(new Document("store","storenumbervalue"));
iterable.modifiers(new Document("$hint","index_name"));
MongoCursor curs = iterable.iterator();
while(curs.hasNext()){
System.out.println(curs.next());
}
}
index_name - mongo中的实际索引名称。
答案 1 :(得分:1)
您可以尝试:
DBCursor cursor = coll.find(query).hint(new BasicDBObject("symbol" , 1))