Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MONGOC_COLLEC...OUNT_WITH_OPTS(3)  libmongoc MONGOC_COLLEC...OUNT_WITH_OPTS(3)

WARNING:
	  Deprecated	     since	   version	   1.11.0:	   Use
	  mongoc_collection_count_documents()				    or
	  mongoc_collection_estimated_document_count() instead.

	  mongoc_collection_count_documents() has similar performance to call-
	  ing  mongoc_collection_count() with a	non-NULL query,	and is guaran-
	  teed to retrieve an accurate collection count.  See  migrating  from
	  deprecated count functions for details.

	  mongoc_collection_estimated_document_count()	has  the  same perfor-
	  mance	as calling mongoc_collection_count() with a NULL query,	but is
	  not guaranteed to retrieve an	accurate collection count.

SYNOPSIS
	  int64_t
	  mongoc_collection_count_with_opts (mongoc_collection_t *collection,
					     mongoc_query_flags_t flags,
					     const bson_t *query,
					     int64_t skip,
					     int64_t limit,
					     const bson_t *opts,
					     const mongoc_read_prefs_t *read_prefs,
					     bson_error_t *error);

PARAMETERS
        collection: A mongoc_collection_t.

        flags:	A mongoc_query_flags_t.

        query:	A bson_t containing the	query.

        skip: A int64_t, zero to ignore.

        limit:	A int64_t, zero	to ignore.

        opts: A bson_t, NULL to ignore.

        read_prefs: An	optional mongoc_read_prefs_t, otherwise	uses the  col-
	 lection's read	preference.

        error:	An optional location for a bson_error_t	or NULL.

       opts may	be NULL	or a BSON document with	additional command options:

        readConcern:	 Construct    a	   mongoc_read_concern_t    and	   use
	 mongoc_read_concern_append() to add the read concern to opts. See the
	 example code for mongoc_client_read_command_with_opts(). Read concern
	 requires MongoDB 3.2 or later,	otherwise an error is returned.

        sessionId:   First,   construct   a   mongoc_client_session_t	  with
	 mongoc_client_start_session().	 You  can  begin  a  transaction  with
	 mongoc_client_session_start_transaction(),    optionally    with    a
	 mongoc_transaction_opt_t  that	 overrides  the	options	inherited from
	 collection, and use mongoc_client_session_append() to add the session
	 to opts. See the example code for mongoc_client_session_t.

        collation: Configure textual comparisons. See Setting	Collation  Or-
	 der,  and  the	 MongoDB Manual	entry on Collation. Collation requires
	 MongoDB 3.2 or	later, otherwise an error is returned.

        serverId: To target a specific	server,	include	 an  int32  "serverId"
	 field.	 Obtain	 the id	by calling mongoc_client_select_server(), then
	 mongoc_server_description_id()	on its return value.

DESCRIPTION
       This function shall execute a count query on  the  underlying  'collec-
       tion'. The bson 'query' is not validated, simply	passed along as	appro-
       priate to the server.  As such, compatibility and errors	should be val-
       idated in the appropriate server	documentation.

       The  mongoc_read_concern_t specified on the mongoc_collection_t will be
       used, if	any. If	read_prefs is NULL, the	collection's read  preferences
       are used.

       In addition to the standard functionality available from	mongoc_collec-
       tion_count,  this  function allows the user to add arbitrary extra keys
       to the count.  This pass	through	enables	features such as  hinting  for
       counts.

       For more	information, see the query reference at	the MongoDB website.

       This  function  is considered a retryable read operation.  Upon a tran-
       sient error (a network error, errors due	to replica set failover, etc.)
       the operation is	safely retried once.  If retryreads is	false  in  the
       URI (see	mongoc_uri_t) the retry	behavior does not apply.

ERRORS
       Errors are propagated via the error parameter.

RETURNS
       -1 on failure, otherwise	the number of documents	counted.

EXAMPLES
       Basic Counting

	  #include <bson/bson.h>
	  #include <mongoc/mongoc.h>
	  #include <stdio.h>

	  static void
	  print_query_count (mongoc_collection_t *collection, bson_t *query)
	  {
	     bson_error_t error;
	     int64_t count;
	     bson_t opts;

	     bson_init (&opts);
	     BSON_APPEND_UTF8 (&opts, "hint", "_id_");

	     count = mongoc_collection_count_with_opts (
		collection, MONGOC_QUERY_NONE, query, 0, 0, &opts, NULL, &error);

	     bson_destroy (&opts);

	     if	(count < 0) {
		fprintf	(stderr, "Count	failed:	%s\n", error.message);
	     } else {
		printf ("%" PRId64 " documents counted.\n", count);
	     }
	  }

       Counting	with Collation

	  #include <bson/bson.h>
	  #include <mongoc/mongoc.h>
	  #include <stdio.h>

	  static void
	  print_query_count (mongoc_collection_t *collection, bson_t *query)
	  {
	     bson_t *selector;
	     bson_t *opts;
	     bson_error_t error;
	     int64_t count;

	     selector =	BCON_NEW ("_id", "{", "$gt", BCON_UTF8 ("one"),	"}");

	     /*	"One" normally sorts before "one"; make	"one" come first */
	     opts = BCON_NEW ("collation",
			      "{",
			      "locale",
			      BCON_UTF8	("en_US"),
			      "caseFirst",
			      BCON_UTF8	("lower"),
			      "}");

	     count = mongoc_collection_count_with_opts (
		collection, MONGOC_QUERY_NONE, query, 0, 0, opts, NULL,	&error);

	     bson_destroy (selector);
	     bson_destroy (opts);

	     if	(count < 0) {
		fprintf	(stderr, "Count	failed:	%s\n", error.message);
	     } else {
		printf ("%" PRId64 " documents counted.\n", count);
	     }
	  }

AUTHOR
       MongoDB,	Inc

COPYRIGHT
       2009-present, MongoDB, Inc.

1.30.2				 Apr 12, 2025MONGOC_COLLEC...OUNT_WITH_OPTS(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mongoc_collection_count_with_opts&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help