2013-12-17 2 views
0

Я могу получить одну запись из коллекции в mongodb, но я не могу получить всю коллекцию. После того как я извлечу всю коллекцию, я хотел бы поместить ее в словарь. Извлечение всей коллекции должно быть простым. Я проверил различные команды, которые я использовал бы в оболочке, чтобы выполнить задачу, но все они неудачны после перевода в цель-c.Извлечение всей коллекции, а затем добавить ее в словарь

//Message Retrieval 
    BSONDocument *resultDoc = [collection findAllWithError:&error]; 
    NSDictionary *result = [BSONDecoder decodeDictionaryWithDocument:resultDoc]; 
    NSLog(@"fetch result: %@", result); 
+0

@noa Я понимаю, как извлечь только одну запись с 'findOneWithPredicate: predicate', однако есть ли способ просто сделать collection.find (), чтобы он возвращал все элементы под коллекцией? Я просмотрел функциональность ObjCMongodb, и ничто не попалось на глаза, что я мог это сделать. – Nate

+1

Да, это '-findAllWithError:'. – paulmelnikow

+0

@noa попытался использовать это (обновленный код выше) – Nate

ответ

1

-findAllWithError: возвращает массив документов:

NSArray *results = [collection findAllWithError:&error]; 
for (BSONDocument *resultDoc in results) { 
    NSDictionary *result = [BSONDecoder decodeDictionaryWithDocument:resultDoc]; 
    NSLog(@"fetch result: %@", result); 
} 
+0

Большое спасибо за помощь и быстрые ответы – Nate

Смежные вопросы