Я пытаюсь использовать API-интерфейс MONGO C++ для обработки множества записей, которые выглядят следующим образом ... Количество строк в массиве «Записи» является переменной: это либо 13 или 7.Обработка записи MONGO с вложенными массивами в C++
{ "_id" : ObjectId("541af7a4c9c7450a5a5c7e8e"), "SvId" : "SV120", "UTCTime" : "2014-09-18T15:17:56.541Z", "Interval" : 10, "HPLANC" : "DownlinkA",
"Entries" : [
[ { "IPAddress" : "172.20.10.20" }, { "Port" : 4096 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.10.20" }, { "Port" : 4097 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.10.20" }, { "Port" : 4098 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.10.20" }, { "Port" : 4099 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.10.20" }, { "Port" : 4103 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.100.10" }, { "Port" : 4102 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.100.10" }, { "Port" : 4104 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.150.10" }, { "Port" : 4100 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.200.10" }, { "Port" : 4100 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.200.10" }, { "Port" : 4150 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.200.10" }, { "Port" : 4151 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.200.10" }, { "Port" : 4152 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ],
[ { "IPAddress" : "172.20.200.10" }, { "Port" : 4153 },
{ "MessageCount" : "0" }, { "ByteCount" : "0" } ] ] }
я запрашиваю коллекцию, основанную на UTCTime и свид ... когда я получаю записи назад, я не уверен в том, как выйти через них все ...
как правило, Я просто получаю курсор и перебираю набор возвращаемых записей с помощью «next()» ... но теперь у меня есть поле «Записи», которое содержит 7 или 13 записей. Как я могу получить доступ к каждому из этих элементов? Я предполагаю, что должно быть что-то вроде «субкурсора», которое я могу использовать для циклического преобразования.
Я просматриваю API и примеры, но на вложенных массивах не так много.
Спасибо,
Рик
Единственное, что, кажется, заставляет меня закрыть (и не бросает исключение), обращается к BSONObj, возвращенному покупают запрос (и последующий next()) -
dsuPoint.getFieldDotted("Entries.0.0.IPAddress")
, которые возвращают «EOO» ... ??? – earnric