The following guide will step you through the process of connecting to MongoDB and deleting a document.
The following code example creates a new mongoc_client_t
that we will use to communicate with MongoDB.
The Connection String URI component is quite comprehensive.
Using our mongoc_client_t
, we get a handle to a mongoc_collection_t
which represents the remote collection.
We create a new document, initialized with an _id
and a field named hello
and insert it into the test.test
collection.
Immediately after, we remove the document matching the _id
we inserted.
Lastly, we release all of our heap allocated structures.
#include
#include
int
main (int argc,
char *argv[])
{
mongoc_client_t *client;
mongoc_collection_t *collection;
mongoc_cursor_t *cursor;
bson_error_t error;
bson_oid_t oid;
bson_t *doc;
mongoc_init ();
client = mongoc_client_new ("mongodb://localhost:27017/");
collection = mongoc_client_get_collection (client, "test", "test");
doc = bson_new ();
bson_oid_init (&oid, NULL);
BSON_APPEND_OID (doc, "_id", &oid);
BSON_APPEND_UTF8 (doc, "hello", "world");
if (!mongoc_collection_insert (collection, MONGOC_INSERT_NONE, doc, NULL, &error)) {
printf ("Insert failed: %s\n", error.message);
}
bson_destroy (doc);
doc = bson_new ();
BSON_APPEND_OID (doc, "_id", &oid);
if (!mongoc_collection_delete (collection, MONGOC_DELETE_SINGLE_REMOVE, doc, NULL, &error)) {
printf ("Delete failed: %s\n", error.message);
}
bson_destroy (doc);
mongoc_collection_destroy (collection);
mongoc_client_destroy (client);
return 0;
}
]]>
Let's use GCC
and pkg-config
to compile
When using the MongoDB C Driver, you must call mongoc_init() at the beginning of your application. This allows the driver to initialize it's required subsystems. Failure to do so will result in a runtime crash.
Now let's run it!