たとえば、シェルでこれを行うと
> db.numbers.save( { name: "fibonacci", arr: [0, 1, 1, 2, 3, 5, 8, 13, 21] } )
arr
次に、C++ プログラムに参加したいと思います。
BSONObjを取得name
した後、取得できます
std::string name = p.getStringField("name");
はp
BSON オブジェクトです。
しかし、配列から要素を取得して std::vector に保存する正しい方法は何ですか?
編集:
さらに調査した後、BSONElement doxygenのドキュメントを見つけてこれを作成しました。
std::vector<int> arr;
std::vector<BSONElement> v = p.getField("arr").Array();
for(std::vector<BSONElement>::iterator it = v.begin(); it != v.end(); ++it)
arr.push_back(it->numberInt());
しかし、それが正しい方法であるかどうかはまだわかりません。