2015-02-04 2 views
0

В моей коллекции Mongo около 2000 документов. При использовании метода MongoTemplate find() с пустым запросом (т. Е. Мне нужны все документы в коллекции), а для класса сущности, имени коллекции требуется больше минуты, чтобы вернуть данные в виде списка. Может ли кто-нибудь помочь мне сделать запрос быстрее? Ниже приведен запрос, который я использую.MongoTemplate find() с пустым запросом занимает много времени

Query query = new Query(); 
Class<MyObjects> CLASS_NAME = MyObjects.class; 
String COLLECTION_NAME = "MyCollection"; 
List<MyObjects> myObjects = template.find(query, CLASS_NAME, COLLECTION_NAME); 
+0

Я использую Spring версии 3.1.2.RELEASE (JFYI) – Avis

+0

Попробуйте 'template.findAll (MyObjects.class, COLLECTION_NAME)' – Paul

ответ

-2
@Autowired 
    private MongoTemplate mongoTemplate;   

public List<MyObjects> getMyObjects() { 
     List<MyObjects> myObjects= null; 
     try{ 
      myObjects=(List<MyObjects>)mongoTemplate.findAll(MyObjects.class); 
if(myObjects.size()>0) 
{ 
return myObjects;} 
else{ 
return null;} 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
     return myObjects; 
    } 
+1

помощи, чтобы обеспечить какой-то объяснение? – mnemosyn

+0

@ user3928299 Как вы говорите, что это улучшает время ответа на запрос? Не могли бы вы объяснить? – Avis

+0

@ user3928299 Я опробовал ваше предложение, результаты все те же .. нет увеличения времени ответа на запрос .. Я занимаю больше минуты. – Avis