В драйвере С# mongodb (версия 2.3) очень легко изменить существующий документ bson. Однако драйвер С++ (версия v3), по-видимому, обеспечивает только представление существующего документа только для чтения или построитель новых документов. Я пропустил некоторые функции драйвера С++, или драйвер С++ действительно пропускает функциональность модификации, или драйвер С# просто имитировал модификацию, внутренне скопировав исходный документ и добавив модификацию в новый документ?
Изменение документов bson с помощью драйверов mongodb c# и c++
Ответы (1)
Драйвер C++ внутренне моделирует документ BSON как массив байтов для повышения эффективности, а не как карту или другую структуру данных для чтения/записи. Класс C# RawBsonDocument является ближайшим эквивалентом.
Если вам нужно надуть, изменить и сдуть в C++, это должны сделать пользователи. Например, определите класс/структуру, представляющую документ, и конструктор, который принимает bsoncxx::document::view
и повторяет его, чтобы заполнить интересующие поля структуры. Затем создайте метод, который просматривает члены класса/структуры, добавляет их в новый документ через один из классов построителя и возвращает его.
person
xdg
schedule
11.11.2016