MONGO C++ API를 사용하여 다음과 같은 일련의 레코드를 처리하려고합니다. "Entries"배열의 행 수는 가변적입니다. 13 7.C++에서 중첩 배열로 MONGO 레코드 처리
{ "_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를하고 SVID ... 기반으로 컬렉션을 쿼리
일반적으로, 나는 커서와 "next()"를 가진 반환 된 레코드 세트를 반복합니다 ...하지만 이제는 7 또는 13 개의 항목이있는 "Entries"필드가 있습니다. 각 항목에 어떻게 액세스합니까? 거기에 루프를 돌릴 수있는 "서브 커서"가 있어야합니다.
API와 예제를 살펴보고 있지만 중첩 배열에는 그다지 많은 부분이 없습니다.
감사합니다,
릭 드 MongoDB의 API를 가진 배열을 사용하는 방법 좋은 예가
나에게 가까이가는 것 (그리고 예외를 던지지 않는 것)은 BSONObj가 쿼리를 구매하고 (다음으로 next()를) 반환 한 것을 액세스하는 것이 "EOO"를 반환하는
dsuPoint.getFieldDotted("Entries.0.0.IPAddress")
... ??? – earnric