Android и монго
У меня есть приложение, подключающееся к серверу mongodb. Однако выполнение запроса из моего приложения может занять от 2 до 10 секунд. Мои коллекции не большие. Самый большой только 527 записей.
Я знаю, что в идеале вы не должны подключать свое приложение напрямую к dong монго, но именно так оно и работает (пока что в любом случае).
Мне было просто любопытно, кто еще сделал это, если у них была похожая проблема? Я использую сайт mlab.com для моей базы данных Монго.
ОБНОВЛЕНИЕ 1:
Вот один из моих запросов. Он получает всех игроков для указанной команды. 10 секунд - это редкое явление, но 5 - обычное явление, до 7 вообще не редкость. Я вызываю запрос в AsyncTask. У меня есть индексы на команду и название коллекции игроков. Но в любом случае их всего 527 записей, это не так уж и нужно.
uri = new MongoClientURI("mongodb://user:password@<server>/fantasydraft");
mongoClient = new MongoClient(uri);
mongoDB = mongoClient.getDatabase(uri.getDatabase());
MongoCollection<Document> playerCollection = mongoDB.getCollection("players");
String result = "";
MongoCursor<Document> cursor = playerCollection.find(
new Document("team", team)).sort(new Document("name", 1)).iterator(); // Sort by name
while(cursor.hasNext())
searchResults.add(cursor.next().getString("name"));
База данных размещена на сайте www.mlab.com. Я собираюсь связаться с ними в следующий раз, но мне было просто любопытно, была ли это проблема с андроидом, напрямую соединяющимся с монго, который является известной проблемой какого-то рода.
Я проверил счетный звонок, и это заняло несколько секунд. Я никогда не делал монго через Android прежде, но я предполагаю, что для таких простых вещей это должно быть намного быстрее?