mongoc_database_t
.mongoc_database_t
provides access to a MongoDB database.
This handle is useful for actions a particular database object.
It is not a container for mongoc_collection_t
structures.
See mongoc_database_t
.
mongodb :: NativeMongoDb :: collection
Wrapper formongoc_database_get_collection()
.
mongodb :: NativeMongoDb :: collection_names
Wrapper formongoc_database_get_collection_names()
.
mongodb :: NativeMongoDb :: defaultinit
mongodb :: NativeMongoDb :: has_collection
Wrapper formongoc_database_has_collection()
.
mongodb :: NativeMongoDb :: new
Wrapper formongoc_client_get_database()
.
mongodb :: NativeMongoDb :: set_mongoc_error
Utility method to setSys.last_mongoc_error
.
mongodb $ NativeMongoDb :: SELF
Type of this instance, automatically specialized in every classcore :: Pointer :: address_is_null
Is the address behind this Object at NULL?core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
mongodb :: NativeMongoDb :: collection
Wrapper formongoc_database_get_collection()
.
mongodb :: NativeMongoDb :: collection_names
Wrapper formongoc_database_get_collection_names()
.
mongodb :: NativeMongoDb :: defaultinit
core :: Object :: defaultinit
core :: Pointer :: defaultinit
mongodb :: NativeMongoDb :: has_collection
Wrapper formongoc_database_has_collection()
.
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
mongodb :: NativeMongoDb :: new
Wrapper formongoc_client_get_database()
.
core :: Object :: output_class_name
Display class name on stdout (debug only).mongodb :: NativeMongoDb :: set_mongoc_error
Utility method to setSys.last_mongoc_error
.
# Wrapper for `mongoc_database_t`.
#
# `mongoc_database_t` provides access to a MongoDB database.
# This handle is useful for actions a particular database object.
# It is not a container for `mongoc_collection_t` structures.
#
# See [`mongoc_database_t`](http://api.mongodb.org/c/current/mongoc_database_t.html).
extern class NativeMongoDb `{ mongoc_database_t * `}
# Wrapper for `mongoc_client_get_database()`.
#
# Get a newly allocated `mongoc_database_t` for the database named name.
#
# Database are automatically created on the MongoDB server upon insertion of
# the first document into a collection.
# There is no need to create a database manually.
new(client: NativeMongoClient, db_name: CString) `{
return mongoc_client_get_database(client, db_name);
`}
# Wrapper for `mongoc_database_get_collection_names()`.
#
# Fetches a `NULL` terminated array of `NULL-byte` terminated `char*` strings
# containing the names of all of the collections in database.
fun collection_names: nullable NativeCStringArray
import set_mongoc_error, NativeCStringArray, NativeCStringArray.as nullable `{
bson_error_t error;
char **strv;
if((strv = mongoc_database_get_collection_names(self, &error))) {
return NativeCStringArray_as_nullable(strv);
}
NativeMongoDb_set_mongoc_error(self, &error);
return null_NativeCStringArray();
`}
# Wrapper for `mongoc_database_get_collection()`.
#
# Allocates a new `mongoc_collection_t` structure for the collection named
# `name` in database.
fun collection(name: CString): NativeMongoCollection `{
return mongoc_database_get_collection(self, name);
`}
# Wrapper for `mongoc_database_has_collection()`.
#
# This function checks to see if a collection exists on the MongoDB server
# within database.
fun has_collection(name: CString): Bool import set_mongoc_error `{
bson_error_t error;
if(!mongoc_database_has_collection(self, name, &error)) {
NativeMongoDb_set_mongoc_error(self, &error);
return false;
}
return true;
`}
# Wrapper for `mongoc_database_drop()`.
#
# This function attempts to drop a database on the MongoDB server.
fun drop: Bool import set_mongoc_error `{
bson_error_t error;
if(!mongoc_database_drop(self, &error)) {
NativeMongoDb_set_mongoc_error(self, &error);
return false;
}
return true;
`}
# Wrapper for `mongoc_database_destroy()`.
#
# This instance should not be used beyond this point!
fun destroy `{ mongoc_database_destroy(self); `}
# Utility method to set `Sys.last_mongoc_error`.
fun set_mongoc_error(err: BSONError) do sys.last_mongoc_error = err
end
lib/mongodb/native_mongodb.nit:216,1--291,3