из std :: vector в массив монго

Есть ли другой способ создания объекта bson из устаревшего драйвера, mongodb, который выглядит следующим образом:

{ name: "abc", vals: [0,1,2,3,...,n] }

с элементами vals из std :: вектор с плавающей точкой ?
В документации я намотал BSONObjBuilder().append это единственный способ?

1

Решение

Вы также можете использовать BSON() макрос:

BSONObj b = BSON("name" << "abc" << "vals" << ba);

где ba это BSONArray для 1, 2, …, N списка. Вы могли бы использовать BSONArrayBuilderчтобы создать этот массив или, если вы знаете размер списка, априори вы можете использовать BSON_ARRAY() макрос:

BSONArray ba = BSON_ARRAY( 1 << 2 << 3 << .. N );
0

Другие решения