bsoncxx::document::value database::modify_collection(stdx::string_view name, const options::modify_collection& options) { auto doc = make_document(kvp("collMod", name), concatenate(options.to_document())); return run_command(doc.view()); }
bsoncxx::document::value database::modify_collection(stdx::string_view name, const options::modify_collection& options) { auto doc = document{} << "collMod" << name << concatenate(options.to_document()) << finalize; return run_command(doc.view()); }
SECTION("Can be exported to a document") { auto rule = builder::stream::document{} << "brain" << open_document << "$exists" << true << close_document << finalize; validation_criteria validation; validation.rule(rule.view()); validation.level(validation_criteria::validation_level::k_strict); auto index = builder::stream::document{} << "a" << 1 << finalize; cm.index(index.view(), std::chrono::seconds(10)); cm.validation_criteria(validation); cm.no_padding(false); auto doc = cm.to_document(); document::view doc_view{doc.view()}; // noPadding should be set to false document::element padding{doc_view["noPadding"]}; REQUIRE(padding); REQUIRE(padding.type() == type::k_bool); REQUIRE(padding.get_bool() == false); // validator and validationLevel should be set, but not validationAction document::element validator{doc_view["validator"]}; REQUIRE(validator); REQUIRE(validator.type() == type::k_document); REQUIRE(validator.get_document().value == rule); document::element validationLevel{doc_view["validationLevel"]};