1. 程式人生 > >MongoDB 如何選擇查詢結果指定欄位 去掉_id欄位

MongoDB 如何選擇查詢結果指定欄位 去掉_id欄位

1.程式設計實現

   mongoc_client_t *client;
   mongoc_collection_t *collection;
   mongoc_cursor_t *cursor;
   const bson_t *doc;
   bson_t *query;
   bson_t opts;
   bson_t child;
   char *str;

   bson_error_t err;
   mongoc_init ();
   bson_init (&opts);

   client = mongoc_client_new ("mongodb://localhost:27017");
   collection = mongoc_client_get_collection (client, "mydb", "mycoll");

   query = bson_new ();
   BSON_APPEND_UTF8 (query, "hello", "world2");
   BSON_APPEND_DOCUMENT_BEGIN (&opts, "projection", &child);
   BSON_APPEND_INT32 (&child, "_id", 0);
   bson_append_document_end (&opts, &child);

   cursor = mongoc_collection_find_with_opts (collection, query, &opts, NULL);

   while (mongoc_cursor_next (cursor, &doc)) {
      str = bson_as_json (doc, NULL);
      printf ("%s\n", str);
      bson_free (str);
   }


   bson_destroy (query);
   mongoc_cursor_destroy (cursor);
   mongoc_collection_destroy (collection);
   mongoc_client_destroy (client);
   mongoc_cleanup ();

   return 0;

{ "hello" : "world2" }

2.shell 命令

如要去掉_id 欄位,

db.mycoll.find( { hello: 'world' }, {_id:0 } )