2013-09-09 4 views
0

Вот структура часть моей коллекции:Использование списка в MongoDB драйвер C

{ 
    ... 
    likes: ['6a6ca923517f304900badd98','6a6ca923517f304900badd99','...'], 
    ... 
} 

Какой метод вы могли бы мне посоветовать, чтобы получить список значений в «любит» поле с C Lib пожалуйста?

ответ

2

У меня нет рабочего драйвера MongoDB C, но это должно помочь вам начать работу. Кроме того, документы должны помочь вам (here).

bson_iterator i[1], sub[i]; 
bson_type type; 
const char * key; 
const char * value; 

// do query, get cursor 

while(mongo_cursor_next(cursor) == MONGO_OK) { 
    // look for the "likes" field 
    if(bson_find(iterator, bson, "likes")) { 
     // need to iterate through the elements of the array 
     bson_iterator_subiterator(iterator, sub); 

     // then iterate using "sub", until returns a BSON_EOO 
     while (BSON_EOO != bson_iterator_next(sub)) { 
      key = bson_iterator_key(sub); 
      // if it's a string... 
      value = bson_iterator_string(sub); 
     } 
    } 
} 
+0

Это хорошо, я нашел решение с вашей помощью благодаря;) –

+0

Я редактировал свое сообщение с новым вопросом! Вы можете мне помочь ? –

+0

@ JohnS - это не так, как работает StackOverflow. :(Пожалуйста, попробуйте сами и отправьте сообщение, где вы застряли в новом вопросе. Я бы предположил, что вы используете 'bson_find' в' sub' для '' name "'. – WiredPrairie

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