mongoc_index_opt_t
Synopsis
#include <mongoc.h> typedef struct { bool is_initialized; bool background; bool unique; const char *name; bool drop_dups; bool sparse; int32_t expire_after_seconds; int32_t v; const bson_t *weights; const char *default_language; const char *language_override; mongoc_index_opt_geo_t *geo_options; mongoc_index_opt_storage_t *storage_options; const bson_t *partial_filter_expression; void *padding[5]; } mongoc_index_opt_t;
Description
This structure contains the options that may be used for tuning a specific index.
See the createIndexes documentations in the MongoDB manual for descriptions of individual options.
NOTE: dropDups is deprecated as of MongoDB version 3.0.0. This option is silently ignored by the server and unique index builds using this option will fail if a duplicate value is detected.
Example
{
bson_t keys;
bson_error_t error;
mongoc_index_opt_t opt;
mongoc_index_opt_geo_t geo_opt;
mongoc_index_opt_init(&opt);
mongoc_index_opt_geo_init(&geo_opt);
bson_init(&keys);
BSON_APPEND_UTF8(&keys, "location", "2d");
geo_opt.twod_location_min = -123;
geo_opt.twod_location_max = +123;
geo_opt.twod_bits_precision = 30;
opt.geo_options = &geo_opt;
collection = mongoc_client_get_collection (client, "test", "geo_test");
if (mongoc_collection_create_index(collection, &keys, &opt, &error)) {
/* Successfully created the geo index */
}
bson_destroy(&keys);
mongoc_collection_destroy(&collection);
}