20 #include <bsoncxx/document/view_or_value.hpp>
21 #include <bsoncxx/string/view_or_value.hpp>
22 #include <mongocxx/client_session.hpp>
23 #include <mongocxx/collection.hpp>
24 #include <mongocxx/gridfs/bucket.hpp>
25 #include <mongocxx/options/create_collection.hpp>
26 #include <mongocxx/options/gridfs/bucket.hpp>
27 #include <mongocxx/read_preference.hpp>
28 #include <mongocxx/write_concern.hpp>
30 #include <mongocxx/config/prelude.hpp>
33 MONGOCXX_INLINE_NAMESPACE_BEGIN
81 explicit operator
bool() const noexcept;
107 const options::aggregate& options = options::aggregate());
134 const options::aggregate& options = options::aggregate());
165 bsoncxx::document::view_or_value command);
203 class
collection create_collection(stdx::string_view name,
204 bsoncxx::document::view_or_value collection_options = {},
226 class collection create_collection(const client_session& session,
227 stdx::string_view name,
229 const stdx::optional<write_concern>& write_concern = {});
253 bsoncxx::string::view_or_value name,
256 return create_collection_deprecated(name, collection_options,
write_concern);
259 class collection create_collection_deprecated(
260 bsoncxx::string::view_or_value name,
261 const options::create_collection_deprecated& collection_options,
262 const stdx::optional<write_concern>& write_concern = {});
292 return create_collection_deprecated(session, name, collection_options,
write_concern);
295 class collection create_collection_deprecated(
296 const client_session& session,
298 const options::create_collection_deprecated& collection_options,
299 const stdx::optional<write_concern>& write_concern = {});
338 const bsoncxx::stdx::optional<mongocxx::write_concern>&
write_concern = {});
426 stdx::string_view
name()
const;
507 MONGOCXX_INLINE class
collection operator[](bsoncxx::string::view_or_value name) const;
524 const options::gridfs::bucket& options = options::gridfs::bucket()) const;
553 change_stream watch(const client_session& session, const options::change_stream& options = {});
571 change_stream watch(const pipeline& pipe, const options::change_stream& options = {});
589 const pipeline& pipe,
590 const options::change_stream& options = {});
600 MONGOCXX_PRIVATE
database(const class client& client, bsoncxx::string::view_or_value name);
602 MONGOCXX_PRIVATE
cursor _aggregate(const client_session* session,
603 const pipeline& pipeline,
604 const options::aggregate& options);
607 const client_session* session, bsoncxx::document::view_or_value command);
609 MONGOCXX_PRIVATE class
collection _create_collection(
610 const client_session* session,
611 stdx::string_view name,
612 bsoncxx::document::view_or_value collection_options,
613 const stdx::optional<class write_concern>& write_concern);
615 MONGOCXX_PRIVATE class
collection _create_collection_deprecated(
616 const client_session* session,
617 bsoncxx::string::view_or_value name,
618 const options::create_collection_deprecated& collection_options,
619 const stdx::optional<class write_concern>& write_concern);
621 MONGOCXX_PRIVATE
cursor _list_collections(const client_session* session,
622 bsoncxx::document::view_or_value filter);
624 MONGOCXX_PRIVATE std::vector<std::string> _list_collection_names(
625 const client_session* session, bsoncxx::document::view_or_value filter);
627 MONGOCXX_PRIVATE void _drop(
628 const client_session* session,
629 const bsoncxx::stdx::optional<mongocxx::write_concern>& write_concern);
631 MONGOCXX_PRIVATE
change_stream _watch(const client_session* session,
632 const pipeline& pipe,
633 const options::change_stream& options);
635 class MONGOCXX_PRIVATE impl;
637 MONGOCXX_PRIVATE impl& _get_impl();
638 MONGOCXX_PRIVATE const impl& _get_impl() const;
640 std::unique_ptr<impl> _impl;
643 MONGOCXX_INLINE
collection database::operator[](bsoncxx::string::view_or_value name) const {
647 MONGOCXX_INLINE_NAMESPACE_END
650 #include <mongocxx/config/postlude.hpp>