{"id":74855,"date":"2024-07-29T13:30:00","date_gmt":"2024-07-29T04:30:00","guid":{"rendered":"https:\/\/www.creationline.com\/_tech-blog\/?p=74855"},"modified":"2024-07-31T11:35:29","modified_gmt":"2024-07-31T02:35:29","slug":"mongodb%e3%81%a7%e3%82%a4%e3%83%b3%e3%83%87%e3%83%83%e3%82%af%e3%82%b9%e3%81%ae%e3%83%91%e3%83%af%e3%83%bc%e3%82%92%e4%bd%93%e6%84%9f%e3%81%99%e3%82%8b-mongodb-documentdb","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855","title":{"rendered":"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB"},"content":{"rendered":"\n<p>MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d\u304b\u3089\u304a\u5b50\u3055\u3093\u306e\u58f0\u304c\u805e\u3053\u3048\u305f\u308a\u3057\u307e\u3059\u3002\u308f\u305f\u3057\u306e\u590f\u4f11\u307f\u306f\u3001\u3082\u3046\u5c11\u3057\u5148\u3067\u3059&#x1f63f;<\/p>\n\n\n\n<p>\u6700\u8fd1\u306f\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u306e\u696d\u52d9\u3067MongoDB\u306eSlow query\u304c\u51fa\u305f\u6642\u306e\u6319\u52d5\u306b\u3064\u3044\u3066\u8abf\u3079\u308b\u6a5f\u4f1a\u304c\u591a\u3044\u306e\u3067\u3059\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u30af\u30a8\u30ea\u304c\u9ad8\u901f\u5316\u3059\u308b\u69d8\u5b50\u3092\u304d\u3061\u3093\u3068\u898b\u305f\u3053\u3068\u304c\u306a\u3044\u306e\u3067\u3001\u590f\u4f11\u307f\u306e\u81ea\u7531\u7814\u7a76\u3088\u308d\u3057\u304f\u3001\u89b3\u5bdf\u3057\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB\u306b\u304a\u3051\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3068\u306f<\/h2>\n\n\n\n<p>\u6709\u540d\u306aRDBMS\u3067\u7528\u3044\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3068\u307b\u3068\u3093\u3069\u540c\u3058\u3082\u306e\u3068\u601d\u3063\u3066\u3082\u3089\u3063\u3066\u3088\u3044\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u300c\u5b9f\u884c\u983b\u5ea6\u304c\u9ad8\u3044\u30af\u30a8\u30ea\u3067\u4f7f\u7528\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5bfe\u3057\u3066\u4f5c\u6210\u3059\u308b\u3068\u52b9\u679c\u304c\u9ad8\u3044\u300d\u300cB-Tree\u306e\u30c7\u30fc\u30bf\u69cb\u9020\u3092\u5229\u7528\u3059\u308b\u300d\u3068\u3044\u3063\u305f\u70b9\u306fRDBMS\u3068\u901a\u3058\u308b\u9762\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4e00\u65b9\u3067\u3001\u4e00\u90e8\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8DB\u306a\u3089\u3067\u306f\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30bf\u30a4\u30d7\u3082\u3042\u308a\u307e\u3059\u3002MongoDB\u306b\u304a\u3051\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u8a73\u7d30\u3068\u3001\u30bf\u30a4\u30d7\u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/www.mongodb.com\/docs\/manual\/indexes\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.mongodb.com\/docs\/manual\/indexes\/<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.mongodb.com\/docs\/manual\/core\/indexes\/index-types\/#index-types\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.mongodb.com\/docs\/manual\/core\/indexes\/index-types\/#index-types<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf<\/h2>\n\n\n\n<p><a href=\"\/tech-blog\/71148\">\u3053\u3061\u3089\u306e\u8a18\u4e8b<\/a>\u5185\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u4f5c\u6210\u3057\u305f\u3082\u306e\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n  \"_id\": {\n    \"$oid\": \"6687a0a809ab7dd03e0bf0c2\"\n  },\n  \"username\": \"FQyFMgO\",\n  \"password\": \"yAkXuXRUxAsXREILqyYSAJmnekCNOAShyUsoGTZFGAraKXUhHA\",\n  \"age\": 43,\n  \"gender\": \"male\",\n  \"firstname\": \"Lizzie\",\n  \"lastname\": \"Feil\",\n  \"income\": 4988\n}<\/pre>\n\n\n\n<p>MongoDB\u306f\u914d\u5217\u3084\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u578b\u3082\u30c7\u30fc\u30bf\u3068\u3057\u3066\u683c\u7d0d\u3067\u304d\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u8aad\u3080\u7686\u3055\u3093\u304c\u65e5\u3005\u5411\u304d\u5408\u3063\u3066\u3044\u308b\u672c\u756a\u30c7\u30fc\u30bf\u306f\u3082\u3046\u5c11\u3057\u8907\u96d1\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u5b9f\u306f\u3001\u914d\u5217\u3084\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u578b\u3092\u5bfe\u8c61\u3068\u3057\u305f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304cMongoDB\u306b\u306f\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u3053\u307e\u3067\u542b\u3081\u3066\u691c\u8a3c\u3059\u308b\u3068\u9577\u304f\u306a\u308b\u306e\u3067\u3001\u307e\u305f\u5225\u306e\u6a5f\u4f1a\u306b\u691c\u8a3c\u3057\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u691c\u8a3c\u3059\u308b\u306e\u306f\u4e00\u756a\u57fa\u672c\u7684\u306a\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u3042\u308bSingle Field Index\u3068Compound Index\u306e\uff12\u3064\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eca\u56de\u53d6\u308a\u6271\u3046\u30a4\u30f3\u30c7\u30c3\u30af\u30b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Single Field Index<\/h3>\n\n\n\n<p>\u65e5\u672c\u8a9e\u3060\u3068\u300c\u5358\u4e00\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u300d\u300c\u5358\u4e00\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u300d\u3068\u3044\u3046\u547c\u3073\u65b9\u306b\u306a\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u6587\u5b57\u901a\u308a\u3001\u4e00\u3064\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5bfe\u3057\u3066\u4f5c\u6210\u3059\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u4ee5\u964d\u300c\u5358\u4e00\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u300d\u3068\u547c\u3076\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Compound Index<\/h3>\n\n\n\n<p>\u65e5\u672c\u8a9e\u3060\u3068\u300c\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u300d\u3068\u3044\u3046\u547c\u3073\u65b9\u306b\u306a\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u6587\u5b57\u901a\u308a\u3001\u8907\u6570\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5bfe\u3057\u3066\u4f5c\u6210\u3059\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u4ee5\u964d\u300c\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u300d\u3068\u547c\u3076\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/www.mongodb.com\/blog\/post\/performance-best-practices-indexing\" target=\"_blank\" rel=\"noreferrer noopener\">\u3053\u3061\u3089\u306e\u8a18\u4e8b<\/a>\u306b\u3088\u308b\u3068\u3001\u300c\u59d3\u300d\u300c\u540d\u300d\u306e\u4e21\u65b9\u3092\u542b\u3080\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u305f\u5834\u5408\u306f\u3001\u59d3\u306e\u307f\u3092\u6307\u5b9a\u3059\u308b\u30af\u30a8\u30ea\u3092\u30d5\u30a3\u30eb\u30bf\u51e6\u7406\u3059\u308b\u305f\u3081\u306b\u3082\u5229\u7528\u3067\u304d\u308b\u3068\u306e\u3053\u3068\u3067\u3059\u3002\u8907\u6570\u306e\u30af\u30a8\u30ea\u3092\u30ab\u30d0\u30fc\u3059\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u5834\u5408\u306f\u3001\u540c\u3058\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5bfe\u3057\u3066\u5358\u4e00\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3068\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u4e21\u65b9\u3092\u69cb\u7bc9\u3059\u308b\u5fc5\u8981\u306f\u306a\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u691c\u8a3c\uff1aSlow query\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u69cb\u7bc9\u3067\u6539\u5584\u3059\u308b\u306e\u304b\uff1f<\/h2>\n\n\n\n<p>\u3067\u306f\u3001\u524d\u56de\u306e\u8a18\u4e8b\u3067\u3082\u3084\u3063\u305f\u3088\u3046\u306b\u3001chatGPT\u3055\u3093\u306bSlow query\u3092\u8d77\u3053\u3059\u30af\u30a8\u30ea\u3092\u63d0\u6848\u3057\u3066\u3082\u3089\u3044\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"778\" height=\"821\" src=\"\/cms_iL3DVvxR\/wp-content\/uploads\/2024\/07\/image-8.png\" alt=\"\" class=\"wp-image-74679\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/image-8.png 778w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/image-8-341x360.png 341w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/image-8-768x810.png 768w\" sizes=\"auto, (max-width: 778px) 100vw, 778px\" \/><\/figure>\n\n\n\n<p>\u4eca\u56de\u306f\u3001\u4ee5\u4e0b\u306e5\u3064\u306e\u30af\u30a8\u30ea\u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002\u5b9f\u969b\u306bSlow query\u304c\u8d77\u3053\u3057\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4f5c\u6210\u3067\u6539\u5584\u3059\u308b\u69d8\u5b50\u3082\u3042\u308f\u305b\u3066\u898b\u3066\u3044\u304d\u307e\u3059\u3002\u5bfe\u8c61\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306f\u300cPersonalData_Fake\u300d\u3067\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u6570\u306f400\u4e07\u4ef6\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. firstname\u304cLizzie\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u62bd\u51fa\u3059\u308b\u30af\u30a8\u30ea<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">db.PersonalData_Fake.find({ \"firstname\": \"Lizzie\" })<\/pre>\n\n\n\n<p>\u8a72\u5f53\u306e\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u4ee5\u4e0b\u304c\u5b9f\u884c\u7d50\u679c\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.find({ \"firstname\": \"Lizzie\" })\n[\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf0c2'),\n    username: 'FQyFMgO',\n    password: 'yAkXuXRUxAsXREILqyYSAJmnekCNOAShyUsoGTZFGAraKXUhHA',\n    age: 43,\n    gender: 'male',\n    firstname: 'Lizzie',\n    lastname: 'Feil',\n    income: 4988\n  },\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf89f'),\n    username: 'aeGhRDb',\n    password: 'mvwBPcfHJlqetbZcuauZluGfVvFMKDPkRqvBcHNLgNoxFPkEVr',\n    age: 91,\n    gender: 'female',\n    firstname: 'Lizzie',\n    lastname: 'Robel',\n    income: 769\n  },\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0c0c92'),\n    username: 'iXCvFoZ',\n    password: 'RAcTUSwUHGkLJjRuEbwJMSOgFYSyEfHLxybOmIdJWjbjMYjQDV',\n    age: 92,\n    gender: 'male',\n    firstname: 'Lizzie',\n    lastname: 'Hudson',\n    income: 4033\n  },\n\uff08\u4ee5\u964d\u7701\u7565\uff09<\/pre>\n\n\n\n<p>\u5b9f\u884c\u3057\u305f\u30af\u30a8\u30ea\u306e\u8a73\u7d30\u306a\u60c5\u5831\u3092\u77e5\u308a\u305f\u3044\u3068\u304d\u306f\u3001<a href=\"https:\/\/www.mongodb.com\/docs\/manual\/tutorial\/manage-the-database-profiler\/\" target=\"_blank\" rel=\"noreferrer noopener\">Database Profiler<\/a>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u5404\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5185\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u300csystem.profile\u300d\u5185\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306e\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u305f\u3068\u304d\u306eDatabase Profiler\u306e\u51fa\u529b\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002planSummary\u304cCOLLSCAN\uff08\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u7528\u3044\u306a\u3044\u30d5\u30eb\u30b9\u30ad\u30e3\u30f3\uff09\u3068\u306a\u3063\u3066\u304a\u308a\u3001millis\uff08\u30af\u30a8\u30ea\u5b9f\u884c\u306b\u304b\u304b\u308b\u6642\u9593\u3002\u5358\u4f4dmsec\uff09\u304c112\u3068\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>MongoDB\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u5b9f\u884c\u6642\u9593\u304c100ms\u4ee5\u4e0a\u3067Slow query\u3068\u3057\u3066\u30ed\u30b0\u306b\u51fa\u529b\u3055\u308c\u307e\u3059\u3002\u4eca\u56de\u306e\u30af\u30a8\u30ea\u304cSlow query\u306b\u8a72\u5f53\u3057\u3001\u6539\u5584\u306e\u4f59\u5730\u304c\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { firstname: 'Lizzie' },\n      lsid: { id: UUID('494089c5-8e0c-4e47-b40c-5cb6c28c77aa') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721354593, i: 1 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('7562945650136782672'),\n    keysExamined: 0,\n    docsExamined: 330434,\n    numYield: 330,\n    nreturned: 101,\n    queryHash: '53664B0A',\n    planCacheKey: '53664B0A',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('332') } },\n      Global: { acquireCount: { r: Long('332') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    storage: {},\n    responseLength: 19979,\n    protocol: 'op_msg',\n    millis: 112,\n    planSummary: 'COLLSCAN',\n    execStats: {\n      stage: 'COLLSCAN',\n      filter: { firstname: { '$eq': 'Lizzie' } },\n      nReturned: 101,\n      executionTimeMillisEstimate: 9,\n      works: 330434,\n      advanced: 101,\n      needTime: 330333,\n      needYield: 0,\n      saveState: 331,\n      restoreState: 330,\n      isEOF: 0,\n      direction: 'forward',\n      docsExamined: 330434\n    },\n    ts: ISODate('2024-07-19T02:06:06.701Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<p>\u305d\u308c\u3067\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u4eca\u56de\u306f\u30af\u30a8\u30ea\u306bfirstname\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u304b\u3089\u3001firstname\u306b\u5358\u4e00\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u306e\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u30b3\u30de\u30f3\u30c9\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">db.PersonalData_Fake.createIndex( { firstname: 1 } )<\/pre>\n\n\n\n<p>\u5b9f\u884c\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002\u300cfirstname_1\u300d\u3068\u3044\u3046\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.createIndex( { firstname: 1 } )\nfirstname_1<\/pre>\n\n\n\n<p>\u5fc3\u914d\u306a\u3089\u3070\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u4f5c\u6210\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u78ba\u8a8d\u3057\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002\u4ee5\u4e0b\u304c\u78ba\u8a8d\u30b3\u30de\u30f3\u30c9\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> db.PersonalData_Fake.getIndexes()<\/pre>\n\n\n\n<p>\u5b9f\u884c\u3059\u308b\u3068\u3001\u3053\u3046\u3044\u3046\u98a8\u306b\u7d50\u679c\u304c\u51fa\u307e\u3059\u3002_id\u306f\u81ea\u52d5\u7684\u306b\u4f5c\u3089\u308c\u3066\u3044\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase>  db.PersonalData_Fake.getIndexes()\n[\n  { v: 2, key: { _id: 1 }, name: '_id_' },\n  { v: 2, key: { firstname: 1 }, name: 'firstname_1' }\n]<\/pre>\n\n\n\n<p>\u305d\u308c\u3067\u306f\u3001\u3055\u3063\u304d\u306e\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u3066\u901f\u5ea6\u304c\u3069\u306e\u7a0b\u5ea6\u5909\u308f\u308b\u304b\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u4ee5\u4e0b\u304cDatabase Profiler\u306e\u7d50\u679c\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { firstname: 'Lizzie' },\n      lsid: { id: UUID('3bf5e024-3dd5-445c-a873-64ca39f4ba77') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721355203, i: 1 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('9016247581363988996'),\n    keysExamined: 101,\n    docsExamined: 101,\n    numYield: 0,\n    nreturned: 101,\n    queryHash: '53664B0A',\n    planCacheKey: '786B6A05',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('1') } },\n      Global: { acquireCount: { r: Long('1') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    responseLength: 19979,\n    protocol: 'op_msg',\n    millis: 0,\n    planSummary: 'IXSCAN { firstname: 1 }',\n    execStats: {\n      stage: 'FETCH',\n      nReturned: 101,\n      executionTimeMillisEstimate: 0,\n      works: 101,\n      advanced: 101,\n      needTime: 0,\n      needYield: 0,\n      saveState: 1,\n      restoreState: 0,\n      isEOF: 0,\n      docsExamined: 101,\n      alreadyHasObj: 0,\n      inputStage: {\n        stage: 'IXSCAN',\n        nReturned: 101,\n        executionTimeMillisEstimate: 0,\n        works: 101,\n        advanced: 101,\n        needTime: 0,\n        needYield: 0,\n        saveState: 1,\n        restoreState: 0,\n        isEOF: 0,\n        keyPattern: { firstname: 1 },\n        indexName: 'firstname_1',\n        isMultiKey: false,\n        multiKeyPaths: { firstname: [] },\n        isUnique: false,\n        isSparse: false,\n        isPartial: false,\n        indexVersion: 2,\n        direction: 'forward',\n        indexBounds: { firstname: [ '[\"Lizzie\", \"Lizzie\"]' ] },\n        keysExamined: 101,\n        seeks: 1,\n        dupsTested: 0,\n        dupsDropped: 0\n      }\n    },\n    ts: ISODate('2024-07-19T02:13:43.703Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<p>millis\u304c0\u3068\u306a\u308a\u3001planSummary\u304cIXSCAN\uff08\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f7f\u3063\u305f\u30b9\u30ad\u30e3\u30f3\uff09\u306b\u306a\u3063\u305f\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u5b9f\u884c\u901f\u5ea6\u304c\u307b\u307c0\u3068\u306a\u308a\u307e\u3057\u305f\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u3057\u3063\u304b\u308a\u3068\u52b9\u3044\u3066\u3044\u307e\u3059\u306d\uff01<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. age\u304c20\u4ee5\u4e0a50\u4ee5\u4e0b\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u62bd\u51fa\u3059\u308b\u30af\u30a8\u30ea<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">db.PersonalData_Fake.find({ \"age\": { \"$gt\": 20, \"$lt\": 50 } })<\/pre>\n\n\n\n<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u69cb\u7bc9\u524d\u306e\u5b9f\u884c\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.find({ \"age\": { \"$gt\": 20, \"$lt\": 50 } })\n[\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf0c2'),\n    username: 'FQyFMgO',\n    password: 'yAkXuXRUxAsXREILqyYSAJmnekCNOAShyUsoGTZFGAraKXUhHA',\n    age: 43,\n    gender: 'male',\n    firstname: 'Lizzie',\n    lastname: 'Feil',\n    income: 4988\n  },\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf0c4'),\n    username: 'tcZYkQu',\n    password: 'hHSUvCFDIujOTmYrrylNjtTtcuyMDSFiPpDULLkvBfaoDXnLml',\n    age: 25,\n    gender: 'female',\n    firstname: 'Velva',\n    lastname: 'Halvorson',\n    income: 1020\n  },\n\uff08\u4ee5\u4e0b\u7701\u7565\uff09<\/pre>\n\n\n\n<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4f5c\u6210\u524d\u306eDatabase Profiler\u306e\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u3059\u3067\u306bmillis\u304c0\u306a\u306e\u3067\u6539\u5584\u306e\u4f59\u5730\u304c\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u2026COLLSCAN\u306a\u306e\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u610f\u5473\u306f\u3042\u308a\u305d\u3046\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { age: { '$gt': 20, '$lt': 50 } },\n      lsid: { id: UUID('a8c471be-244f-4374-a6b6-4b7e13a936c8') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721873810, i: 5 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('3824592146084759771'),\n    keysExamined: 0,\n    docsExamined: 298,\n    numYield: 0,\n    nreturned: 101,\n    queryHash: 'FC6DB468',\n    planCacheKey: 'FC6DB468',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('1') } },\n      Global: { acquireCount: { r: Long('1') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    responseLength: 19992,\n    protocol: 'op_msg',\n    millis: 0,\n    planSummary: 'COLLSCAN',\n    execStats: {\n      stage: 'COLLSCAN',\n      filter: {\n        '$and': [ { age: { '$lt': 50 } }, { age: { '$gt': 20 } } ]\n      },\n      nReturned: 101,\n      executionTimeMillisEstimate: 0,\n      works: 298,\n      advanced: 101,\n      needTime: 197,\n      needYield: 0,\n      saveState: 1,\n      restoreState: 0,\n      isEOF: 0,\n      direction: 'forward',\n      docsExamined: 298\n    },\n    ts: ISODate('2024-07-25T02:18:28.385Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u30af\u30a8\u30ea\u3067\u4f7f\u7528\u3059\u308bage\u306e\u5358\u4e00\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">db.PersonalData_Fake.createIndex( { age: 1 } )<\/pre>\n\n\n\n<p>\u30af\u30a8\u30ea\u3092\u3082\u3046\u4e00\u5ea6\u5b9f\u884c\u3057\u3066\u3001Database Profiler\u304c\u3069\u3046\u5909\u5316\u3059\u308b\u304b\u898b\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<p>IXSCAN\u3067age\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f7f\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30af\u30a8\u30ea\u3067\u306f\u5b9f\u884c\u901f\u5ea6\u306e\u5909\u5316\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u30ec\u30b3\u30fc\u30c9\u6570\u304c\u4eca\u3088\u308a\u5897\u3048\u308c\u3070\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u305f\u610f\u5473\u304c\u51fa\u3066\u304f\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { age: { '$gt': 20, '$lt': 50 } },\n      lsid: { id: UUID('82c1230a-cecb-4d4f-86d5-1da22b412bac') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721874515, i: 5 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('6161333855123535493'),\n    keysExamined: 101,\n    docsExamined: 101,\n    numYield: 0,\n    nreturned: 101,\n    queryHash: 'FC6DB468',\n    planCacheKey: 'AD51D913',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('1') } },\n      Global: { acquireCount: { r: Long('1') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    responseLength: 19963,\n    protocol: 'op_msg',\n    millis: 2,\n    planSummary: 'IXSCAN { age: 1 }',\n    execStats: {\n      stage: 'FETCH',\n      nReturned: 101,\n      executionTimeMillisEstimate: 0,\n      works: 101,\n      advanced: 101,\n      needTime: 0,\n      needYield: 0,\n      saveState: 1,\n      restoreState: 0,\n      isEOF: 0,\n      docsExamined: 101,\n      alreadyHasObj: 0,\n      inputStage: {\n        stage: 'IXSCAN',\n        nReturned: 101,\n        executionTimeMillisEstimate: 0,\n        works: 101,\n        advanced: 101,\n        needTime: 0,\n        needYield: 0,\n        saveState: 1,\n        restoreState: 0,\n        isEOF: 0,\n        keyPattern: { age: 1 },\n        indexName: 'age_1',\n        isMultiKey: false,\n        multiKeyPaths: { age: [] },\n        isUnique: false,\n        isSparse: false,\n        isPartial: false,\n        indexVersion: 2,\n        direction: 'forward',\n        indexBounds: { age: [ '(20, 50)' ] },\n        keysExamined: 101,\n        seeks: 1,\n        dupsTested: 0,\n        dupsDropped: 0\n      }\n    },\n    ts: ISODate('2024-07-25T02:28:51.699Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. income\uff08\u53ce\u5165\uff09\u3067\u964d\u9806\u306b\u30bd\u30fc\u30c8\u3059\u308b\u30af\u30a8\u30ea<\/h3>\n\n\n\n<p>\u3053\u306e\u30af\u30a8\u30ea\u306fCOLLSCAN\u306e\u5834\u5408\u3001\u3059\u3079\u3066\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u7cbe\u67fb\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u306e\u3067\u3001\u78ba\u304b\u306bSlow query\u306b\u306a\u308a\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">db.PersonalData_Fake.find().sort({ \"income\": -1 })<\/pre>\n\n\n\n<p>\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.find().sort({ \"income\": -1 })\n[\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bffb3'),\n    username: 'pBCCiai',\n    password: 'STIUYGTaXOxSxopaCWLwoLysMcryYGQySakEhZVwJMvbuJAxgh',\n    age: 31,\n    gender: 'female',\n    firstname: 'Oda',\n    lastname: 'Goldner',\n    income: 4999\n  },\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0c069b'),\n    username: 'gWpQuMc',\n    password: 'MQbQWUAPVJBiJePkucuKXcHmoFnwCuPgGfOSTGXULohWreqtpm',\n    age: 39,\n    gender: 'male',\n    firstname: 'Holly',\n    lastname: 'Koss',\n    income: 4999\n  },\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0c0d43'),\n    username: 'fCPfGLC',\n    password: 'ChGNXBODkTSkTBJLIigTgWEiATodMCrSOvQienGnKltqnmNcXY',\n    age: 67,\n    gender: 'female',\n    firstname: 'Rosanna',\n    lastname: 'Corwin',\n    income: 4999\n  },\n\uff08\u4ee5\u4e0b\u7701\u7565\uff09<\/pre>\n\n\n\n<p>Database Profiler\u306e\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002millis: 5124\u3000\u3068\u306a\u3063\u3066\u304a\u308a\u3001\u305d\u3053\u305d\u3053\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u5b9f\u884c\u3057\u3066\u3044\u3066\u3082\u6642\u9593\u304c\u304b\u304b\u308b\u306a\u2026\u3068\u3044\u3046\u4f53\u611f\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: {},\n      sort: { income: -1 },\n      lsid: { id: UUID('4c5af205-ce79-4a76-b020-0b29f6ef326a') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721874532, i: 1 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('1625677525133993037'),\n    keysExamined: 0,\n    docsExamined: 4000000,\n    hasSortStage: true,\n    usedDisk: true,\n    numYield: 4007,\n    nreturned: 101,\n    queryHash: 'E611643C',\n    planCacheKey: 'E611643C',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('4009') } },\n      Global: { acquireCount: { r: Long('4009') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    storage: {\n      data: { bytesRead: Long('23944658'), timeReadingMicros: Long('6193') }\n    },\n    responseLength: 19954,\n    protocol: 'op_msg',\n    millis: 5124,\n    planSummary: 'COLLSCAN',\n    execStats: {\n      stage: 'SORT',\n      nReturned: 101,\n      executionTimeMillisEstimate: 3417,\n      works: 4000102,\n      advanced: 101,\n      needTime: 4000001,\n      needYield: 0,\n      saveState: 4008,\n      restoreState: 4007,\n      isEOF: 0,\n      sortPattern: { income: -1 },\n      memLimit: 104857600,\n      type: 'simple',\n      totalDataSizeSorted: 894068591,\n      usedDisk: true,\n      spills: 9,\n      inputStage: {\n        stage: 'COLLSCAN',\n        nReturned: 4000000,\n        executionTimeMillisEstimate: 89,\n        works: 4000001,\n        advanced: 4000000,\n        needTime: 0,\n        needYield: 0,\n        saveState: 4008,\n        restoreState: 4007,\n        isEOF: 1,\n        direction: 'forward',\n        docsExamined: 4000000\n      }\n    },\n    ts: ISODate('2024-07-25T02:37:01.284Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\u4eca\u56de\u306fincome\u306e\u5358\u4e00\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u3059\u308b\u306e\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase>  db.PersonalData_Fake.createIndex( { income: 1 } )\nincome_1<\/pre>\n\n\n\n<p>\u518d\u5ea6\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u5b9f\u884c\u6642\u9593\u306f\u660e\u3089\u304b\u306b\u65e9\u304b\u3063\u305f\u3067\u3059\u3002Database Profiler\u3092\u898b\u3066\u307f\u307e\u3059\u3002IXSCAN\u306b\u306a\u308a\u3001millis: 1\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u5927\u5e45\u306b\u6539\u5584\u3055\u308c\u3066\u3044\u307e\u3059\u306d\uff01<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: {},\n      sort: { income: -1 },\n      lsid: { id: UUID('7762166d-58c7-428f-8ca8-9704b7254a13') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721875591, i: 5 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('3310703320849628612'),\n    keysExamined: 101,\n    docsExamined: 101,\n    numYield: 0,\n    nreturned: 101,\n    queryHash: 'E611643C',\n    planCacheKey: 'E611643C',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('1') } },\n      Global: { acquireCount: { r: Long('1') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    responseLength: 19952,\n    protocol: 'op_msg',\n    millis: 1,\n    planSummary: 'IXSCAN { income: 1 }',\n    execStats: {\n      stage: 'FETCH',\n      nReturned: 101,\n      executionTimeMillisEstimate: 0,\n      works: 101,\n      advanced: 101,\n      needTime: 0,\n      needYield: 0,\n      saveState: 1,\n      restoreState: 0,\n      isEOF: 0,\n      docsExamined: 101,\n      alreadyHasObj: 0,\n      inputStage: {\n        stage: 'IXSCAN',\n        nReturned: 101,\n        executionTimeMillisEstimate: 0,\n        works: 101,\n        advanced: 101,\n        needTime: 0,\n        needYield: 0,\n        saveState: 1,\n        restoreState: 0,\n        isEOF: 0,\n        keyPattern: { income: 1 },\n        indexName: 'income_1',\n        isMultiKey: false,\n        multiKeyPaths: { income: [] },\n        isUnique: false,\n        isSparse: false,\n        isPartial: false,\n        indexVersion: 2,\n        direction: 'backward',\n        indexBounds: { income: [ '[MaxKey, MinKey]' ] },\n        keysExamined: 101,\n        seeks: 1,\n        dupsTested: 0,\n        dupsDropped: 0\n      }\n    },\n    ts: ISODate('2024-07-25T02:47:11.589Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. age\u304c30\u6b73\u4ee5\u4e0a\u3001gender\u304cmale,income\u304c10000\u4ee5\u4e0b\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u62bd\u51fa\u3059\u308b\u30af\u30a8\u30ea<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">db.PersonalData_Fake.find({ \"age\": { \"$gt\": 30 }, \"gender\": \"male\", \"income\": { \"$lt\": 10000 } })<\/pre>\n\n\n\n<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u524d\u306eDatabase Profiler\u306e\u5b9f\u884c\u7d50\u679c\u3092\u898b\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.find({ \"age\": { \"$gt\": 30 }, \"gender\": \"male\", \"income\": { \"$lt\": 10000 } })\n[\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf0c2'),\n    username: 'FQyFMgO',\n    password: 'yAkXuXRUxAsXREILqyYSAJmnekCNOAShyUsoGTZFGAraKXUhHA',\n    age: 43,\n    gender: 'male',\n    firstname: 'Lizzie',\n    lastname: 'Feil',\n    income: 4988\n  },\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf0c3'),\n    username: 'sVUekQC',\n    password: 'WCUqCmOMKxNXjrFArrHZyKSeetUuTciRAIrNSoPEIYefsyPWqW',\n    age: 70,\n    gender: 'male',\n    firstname: 'Summer',\n    lastname: 'Feeney',\n    income: 4925\n  },\n(\u4ee5\u4e0b\u7701\u7565\uff09<\/pre>\n\n\n\n<p>\u7d9a\u3044\u3066\u3001\u3053\u308c\u3092\u5b9f\u884c\u3057\u305f\u3068\u304d\u306eDatabase Profiler\u3082\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002millis\u304c0\u306a\u306e\u3067\u3042\u307e\u308a\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3044\u306a\u3044\u3088\u3046\u3067\u3059\u304c\u3001planSummary\u304cCOLLSCAN\u3068\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304c\u5897\u3048\u305f\u3068\u304d\u306b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u52b9\u3044\u3066\u304d\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { age: { '$gt': 30 }, gender: 'male', income: { '$lt': 10000 } },\n      lsid: { id: UUID('ae6cd9ae-6f37-46a7-acbf-d0486e8ee8ea') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721959774, i: 1 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('45392186795322355'),\n    keysExamined: 0,\n    docsExamined: 242,\n    numYield: 0,\n    nreturned: 101,\n    queryHash: '2219425B',\n    planCacheKey: '2219425B',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('1') } },\n      Global: { acquireCount: { r: Long('1') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    responseLength: 19862,\n    protocol: 'op_msg',\n    millis: 0,\n    planSummary: 'COLLSCAN',\n    execStats: {\n      stage: 'COLLSCAN',\n      filter: {\n        '$and': [\n          { gender: { '$eq': 'male' } },\n          { income: { '$lt': 10000 } },\n          { age: { '$gt': 30 } }\n        ]\n      },\n      nReturned: 101,\n      executionTimeMillisEstimate: 0,\n      works: 242,\n      advanced: 101,\n      needTime: 141,\n      needYield: 0,\n      saveState: 1,\n      restoreState: 0,\n      isEOF: 0,\n      direction: 'forward',\n      docsExamined: 242\n    },\n    ts: ISODate('2024-07-26T02:10:30.291Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<p>\u3053\u308c\u306e\u30af\u30a8\u30ea\u304c\u901f\u304f\u306a\u308b\u3088\u3046\u306a\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u8003\u3048\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u767b\u5834\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u306fage,gender,income\u306a\u306e\u3067\u3001\u3053\u308c\u3089\u306b\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308c\u3070\u826f\u3044\u6c17\u3082\u3057\u307e\u3059\u3002\u3057\u304b\u3057\u3001gender\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306f\u975e\u5e38\u306b\u30ab\u30fc\u30c7\u30a3\u30ca\u30ea\u30c6\u30a3\u6027\u304c\u4f4e\u304f\uff08\u30c7\u30fc\u30bf\u304c\u4e00\u610f\u3067\u306a\u304f\u3001\u91cd\u8907\u3057\u305f\u30c7\u30fc\u30bf\u304c\u591a\u3044\uff09\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u610f\u5473\u306f\u3042\u307e\u308a\u306a\u3055\u305d\u3046\u3067\u3059\u3002\u4eca\u56de\u306fage\u3068income\u306e\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u305f\u3068\u304d\u306e\u5b9f\u884c\u7d50\u679c\u3067\u3059\u3002age_1\u3068income_1\u305d\u308c\u305e\u308c\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u306f\u306a\u304f\u3001age_1_income_1\u3068\u3044\u3046\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u4f5c\u6210\u3055\u308c\u305f\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u3053\u308c\u304c\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.createIndex( { age: 1, income: 1 } )\nage_1_income_1<\/pre>\n\n\n\n<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4f5c\u6210\u5f8c\u306b\u518d\u5ea6\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u3066\u3001Database Profiler\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<p>\u306a\u305c\u304bmillis\u304c0\u304b\u30893\u306b\u5897\u3048\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u304c\u3001\u3053\u306e\u7a0b\u5ea6\u306a\u3089\u8aa4\u5dee\u306e\u7bc4\u56f2\u3060\u3068\u601d\u3044\u307e\u3059\u3002planSummary\u3092\u898b\u308b\u3068\u5148\u307b\u3069\u4f5c\u6210\u3057\u305f\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f7f\u3063\u305fIXSCAN\u306b\u306a\u3063\u3066\u304a\u308a\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u3057\u3063\u304b\u308a\u751f\u304b\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { age: { '$gt': 30 }, gender: 'male', income: { '$lt': 10000 } },\n      lsid: { id: UUID('2eb6554b-bd6c-425c-b903-87658572633e') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721960184, i: 1 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    cursorid: Long('3546649872400127482'),\n    keysExamined: 202,\n    docsExamined: 202,\n    numYield: 0,\n    nreturned: 101,\n    queryHash: '2219425B',\n    planCacheKey: '1C5932DF',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('1') } },\n      Global: { acquireCount: { r: Long('1') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    responseLength: 19881,\n    protocol: 'op_msg',\n    millis: 3,\n    planSummary: 'IXSCAN { age: 1, income: 1 }',\n    execStats: {\n      stage: 'FETCH',\n      filter: { gender: { '$eq': 'male' } },\n      nReturned: 101,\n      executionTimeMillisEstimate: 0,\n      works: 202,\n      advanced: 101,\n      needTime: 101,\n      needYield: 0,\n      saveState: 1,\n      restoreState: 0,\n      isEOF: 0,\n      docsExamined: 202,\n      alreadyHasObj: 0,\n      inputStage: {\n        stage: 'IXSCAN',\n        nReturned: 202,\n        executionTimeMillisEstimate: 0,\n        works: 202,\n        advanced: 202,\n        needTime: 0,\n        needYield: 0,\n        saveState: 1,\n        restoreState: 0,\n        isEOF: 0,\n        keyPattern: { age: 1, income: 1 },\n        indexName: 'age_1_income_1',\n        isMultiKey: false,\n        multiKeyPaths: { age: [], income: [] },\n        isUnique: false,\n        isSparse: false,\n        isPartial: false,\n        indexVersion: 2,\n        direction: 'forward',\n        indexBounds: { age: [ '(30, inf.0]' ], income: [ '[-inf.0, 10000)' ] },\n        keysExamined: 202,\n        seeks: 1,\n        dupsTested: 0,\n        dupsDropped: 0\n      }\n    },\n    ts: ISODate('2024-07-26T02:21:46.562Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5. username\u306e\u5148\u982d\u6587\u5b57\u304cFQy\u306b\u30d2\u30c3\u30c8\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u62bd\u51fa\u3059\u308b\u30af\u30a8\u30ea<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">db.PersonalData_Fake.find({ \"username\": { \"$regex\": \"^FQy\" } })<\/pre>\n\n\n\n<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u69cb\u7bc9\u524d\u306b\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u7d50\u679c\u3092\u898b\u3066\u307f\u307e\u3059\u3002\u5b9f\u884c\u6642\u306f\u5c11\u3057\u5f15\u3063\u304b\u304b\u3063\u305f\u5370\u8c61\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.find({ \"username\": { \"$regex\": \"^FQy\" } })\n[\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf0c2'),\n    username: 'FQyFMgO',\n    password: 'yAkXuXRUxAsXREILqyYSAJmnekCNOAShyUsoGTZFGAraKXUhHA',\n    age: 43,\n    gender: 'male',\n    firstname: 'Lizzie',\n    lastname: 'Feil',\n    income: 4988\n  },\n  {\n    _id: ObjectId('6687a0a809ab7dd03e0bf84e'),\n    username: 'FQyGPAI',\n    password: 'VgoXXZAPDWIyQjYAvNKRQCoZlYRdlAqJYcFGkQvhaPuteWWEmR',\n    age: 29,\n    gender: 'female',\n    firstname: 'Evie',\n    lastname: \"O'Hara\",\n    income: 1169\n  },\n\uff08\u4ee5\u4e0b\u7701\u7565\uff09<\/pre>\n\n\n\n<p>Database Profiler\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002planSummary\u304cCOLLSCAN\u3068\u306a\u3063\u3066\u304a\u308a\u3001millis\u30821515\u3068\u3001\u305d\u308c\u306a\u308a\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u6539\u5584\u306e\u4f59\u5730\u304c\u3042\u308a\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { username: { '$regex': '^FQy' } },\n      lsid: { id: UUID('72f16ac6-e640-4d56-aeb8-51fcfc15e72b') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721960504, i: 1 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    keysExamined: 0,\n    docsExamined: 4000000,\n    cursorExhausted: true,\n    numYield: 4000,\n    nreturned: 44,\n    queryHash: 'E9DF4413',\n    planCacheKey: 'E9DF4413',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('4002') } },\n      Global: { acquireCount: { r: Long('4002') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    storage: {\n      data: { bytesRead: Long('26455367'), timeReadingMicros: Long('8430') }\n    },\n    responseLength: 8838,\n    protocol: 'op_msg',\n    millis: 1515,\n    planSummary: 'COLLSCAN',\n    execStats: {\n      stage: 'COLLSCAN',\n      filter: { username: { '$regex': '^FQy' } },\n      nReturned: 44,\n      executionTimeMillisEstimate: 153,\n      works: 4000001,\n      advanced: 44,\n      needTime: 3999956,\n      needYield: 0,\n      saveState: 4000,\n      restoreState: 4000,\n      isEOF: 1,\n      direction: 'forward',\n      docsExamined: 4000000\n    },\n    ts: ISODate('2024-07-26T02:23:44.071Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<p>\u4eca\u56de\u306fusername\u306e\u5358\u4e00\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u3057\u3066\u307f\u307e\u3059\u3002\u304a\u3063\u3068\uff01<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.createIndex( { usename:1 } )\nusename_1<\/pre>\n\n\n\n<p>\"username\"\u3067\u306f\u306a\u304f\u3001\"usename\"\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5bfe\u3057\u3066\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\u3088\u304f\u3042\u308btypo\u3067\u3059\u3002\u3067\u3082\u7279\u306b\u30a8\u30e9\u30fc\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u4eca\u5b58\u5728\u3059\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002typo\u3057\u305f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u305d\u306e\u307e\u307e\u4f5c\u3089\u308c\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\uff01<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.getIndexes()\n[\n  { v: 2, key: { _id: 1 }, name: '_id_' },\n  { v: 2, key: { age: 1, income: 1 }, name: 'age_1_income_1' },\n  { v: 2, key: { usename: 1 }, name: 'usename_1' }\n]<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306b\u3001MongoDB\u306f\u5b58\u5728\u3057\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u3082\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u305b\u3093\u3002\u3053\u3053\u306fPostgreSQL\u306a\u3069\u306eRDBMS\u3068\u7570\u306a\u308b\u3068\u3053\u308d\u3067\u3059\u306e\u3067\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p>\u8aa4\u3063\u305f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u524a\u9664\u3057\u307e\u3057\u3087\u3046\u3002\u524a\u9664\u3059\u308b\u3068\u304d\u306fdropIndex\u3092\u4f7f\u3044\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u5b9f\u884c\u7d50\u679c\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase>  db.PersonalData_Fake.dropIndex(\"usename_1\")\n{\n  nIndexesWas: 3,\n  ok: 1,\n  '$clusterTime': {\n    clusterTime: Timestamp({ t: 1721961035, i: 1 }),\n    signature: {\n      hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n      keyId: Long('0')\n    }\n  },\n  operationTime: Timestamp({ t: 1721961035, i: 1 })\n}<\/pre>\n\n\n\n<p>MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3068\u304d\u306f\u3001\u6539\u5584\u3092\u72d9\u3063\u305f\u30af\u30a8\u30ea\u3067\u3057\u3063\u304b\u308a\u3068\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u4f7f\u308f\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3082\u4f75\u305b\u3066\u78ba\u8a8d\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u6b63\u3057\u3044\u30d5\u30a3\u30fc\u30eb\u30c9\u540d\u3067\u518d\u5ea6\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u2026<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.PersonalData_Fake.createIndex( { username:1 } )\nusername_1<\/pre>\n\n\n\n<p>\u30af\u30a8\u30ea\u3092\u518d\u5ea6\u5b9f\u884c\u3057\u3001Database Profiler\u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u4ee5\u4e0b\u304c\u305d\u306e\u7d50\u679c\u3067\u3059\u3002planSummary\u304cIXSCAN\u306b\u306a\u308a\u3001millis\u304c1\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u5927\u5e45\u306b\u6539\u5584\u3055\u308c\u307e\u3057\u305f\u306d\uff01<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enterprise rs0 [direct: primary] PersonalDataBase> db.system.profile.find().sort({ ts: -1 }).limit(1)\n[\n  {\n    op: 'query',\n    ns: 'PersonalDataBase.PersonalData_Fake',\n    command: {\n      find: 'PersonalData_Fake',\n      filter: { username: { '$regex': '^FQy' } },\n      lsid: { id: UUID('72f16ac6-e640-4d56-aeb8-51fcfc15e72b') },\n      '$clusterTime': {\n        clusterTime: Timestamp({ t: 1721961075, i: 5 }),\n        signature: {\n          hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),\n          keyId: Long('0')\n        }\n      },\n      '$readPreference': { mode: 'primaryPreferred' },\n      '$db': 'PersonalDataBase'\n    },\n    keysExamined: 45,\n    docsExamined: 44,\n    cursorExhausted: true,\n    numYield: 0,\n    nreturned: 44,\n    queryHash: 'E9DF4413',\n    planCacheKey: '26C08CC3',\n    queryFramework: 'classic',\n    locks: {\n      FeatureCompatibilityVersion: { acquireCount: { r: Long('1') } },\n      Global: { acquireCount: { r: Long('1') } },\n      Mutex: { acquireCount: { r: Long('1') } }\n    },\n    flowControl: {},\n    readConcern: { level: 'local', provenance: 'implicitDefault' },\n    responseLength: 8838,\n    protocol: 'op_msg',\n    millis: 1,\n    planSummary: 'IXSCAN { username: 1 }',\n    execStats: {\n      stage: 'FETCH',\n      nReturned: 44,\n      executionTimeMillisEstimate: 0,\n      works: 46,\n      advanced: 44,\n      needTime: 1,\n      needYield: 0,\n      saveState: 0,\n      restoreState: 0,\n      isEOF: 1,\n      docsExamined: 44,\n      alreadyHasObj: 0,\n      inputStage: {\n        stage: 'IXSCAN',\n        nReturned: 44,\n        executionTimeMillisEstimate: 0,\n        works: 46,\n        advanced: 44,\n        needTime: 1,\n        needYield: 0,\n        saveState: 0,\n        restoreState: 0,\n        isEOF: 1,\n        keyPattern: { username: 1 },\n        indexName: 'username_1',\n        isMultiKey: false,\n        multiKeyPaths: { username: [] },\n        isUnique: false,\n        isSparse: false,\n        isPartial: false,\n        indexVersion: 2,\n        direction: 'forward',\n        indexBounds: { username: [ '[\"FQy\", \"FQz\")', '[\/^FQy\/, \/^FQy\/]' ] },\n        keysExamined: 45,\n        seeks: 2,\n        dupsTested: 0,\n        dupsDropped: 0\n      }\n    },\n    ts: ISODate('2024-07-26T02:32:51.442Z'),\n    client: '127.0.0.1',\n    appName: 'mongosh 2.2.1',\n    allUsers: [],\n    user: ''\n  }\n]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u3055\u3044\u3054\u306b<\/h2>\n\n\n\n<p>MongoDB\u3067\u5358\u4e00\u304a\u3088\u3073\u8907\u5408\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3068\u304d\u306f\u3001\uff08\u30c7\u30fc\u30bf\u306b\u3082\u3088\u308a\u307e\u3059\u304c\uff09RDBMS\u3068\u540c\u3058\u611f\u899a\u3067\u4f5c\u6210\u3057\u3066\u3082\u3042\u308b\u7a0b\u5ea6\u6709\u52b9\u3067\u3042\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f\u3002\u4e00\u65b9\u3067\u3001\u3069\u3093\u306a\u30c7\u30fc\u30bf\u3082\u53d7\u3051\u5165\u308c\u3066\u3057\u307e\u3046\u305f\u3081\u304b\u3001\u304b\u3063\u3061\u308a\u3057\u305f\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u6982\u5ff5\u304c\u306a\u304f\u3001\u5b58\u5728\u3057\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u3082\u30a8\u30e9\u30fc\u304c\u51fa\u306a\u3044\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306e\u691c\u8a3c\u3067\u3001\u3080\u3084\u307f\u306b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u6539\u5584\u3057\u305f\u3044\u30af\u30a8\u30ea\u306e\u30a2\u30bf\u30ea\u3092\u3064\u3051\u308b\u2192\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\u2192\u52b9\u679c\u3092\u78ba\u8a8d\u3059\u308b\u3000\u306e\u6d41\u308c\u3092\u3057\u3063\u304b\u308a\u884c\u3046\u3053\u3068\u304c\u5927\u5207\u3060\u3068\u611f\u3058\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u8a18\u4e8b\u304c\u8ab0\u304b\u306e\u5f79\u306b\u7acb\u3066\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d\u304b\u3089\u304a\u5b50\u3055\u3093\u306e\u58f0\u304c\u805e\u3053\u3048\u305f\u308a\u3057\u307e\u3059\u3002\u308f\u305f\u3057\u306e\u590f\u4f11\u307f\u306f\u3001\u3082\u3046\u5c11 [&#8230;]<\/p>\n","protected":false},"author":66,"featured_media":74856,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[808,79],"tags":[105],"class_list":["post-74855","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-k-yamamori","category-mongodb","tag-mongodb"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"k-yamamori, MongoDB |MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"k-yamamori, MongoDB |MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-29T04:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-31T02:35:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/admin-ajax.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"600\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"k-yamamori\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creationline\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"k-yamamori\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855\"},\"author\":{\"name\":\"k-yamamori\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/45365650dafa6b8aea08257d8f2eb9e4\"},\"headline\":\"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB\",\"datePublished\":\"2024-07-29T04:30:00+00:00\",\"dateModified\":\"2024-07-31T02:35:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855\"},\"wordCount\":153,\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/admin-ajax.jpg\",\"keywords\":[\"mongodb\"],\"articleSection\":[\"k-yamamori\",\"MongoDB\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855\",\"name\":\"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/admin-ajax.jpg\",\"datePublished\":\"2024-07-29T04:30:00+00:00\",\"dateModified\":\"2024-07-31T02:35:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/45365650dafa6b8aea08257d8f2eb9e4\"},\"description\":\"k-yamamori, MongoDB |MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855#primaryimage\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/admin-ajax.jpg\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/admin-ajax.jpg\",\"width\":600,\"height\":450},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\\\/74855#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u30c7\u30fc\u30bf\u200b\u200b\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"MongoDB\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/data-management\\\/mongodb\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/45365650dafa6b8aea08257d8f2eb9e4\",\"name\":\"k-yamamori\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Kayou-Yamamori_Profile-150x150.jpg\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Kayou-Yamamori_Profile-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Kayou-Yamamori_Profile-150x150.jpg\",\"caption\":\"k-yamamori\"},\"description\":\"MongoDB\u65e5\u672c\u8a9e\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u3002IT\u30a4\u30f3\u30d5\u30e9\u3084\u904b\u7528\u30fb\u76e3\u8996\u30fb\u4fdd\u5b88\u304c\u597d\u304d\u3067\u3059\u3002 \u7121\u99c4\u306e\u306a\u3044\u69cb\u6210\u3084\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u898b\u3066\u3046\u3063\u3068\u308a\u3057\u3066\u3044\u307e\u3059\u3002\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/k-yamamori\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"k-yamamori, MongoDB |MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855","og_locale":"ja_JP","og_type":"article","og_title":"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"k-yamamori, MongoDB |MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d","og_url":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2024-07-29T04:30:00+00:00","article_modified_time":"2024-07-31T02:35:29+00:00","og_image":[{"width":600,"height":450,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/admin-ajax.jpg","type":"image\/jpeg"}],"author":"k-yamamori","twitter_card":"summary_large_image","twitter_creator":"@creationline","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"k-yamamori","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"12\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855"},"author":{"name":"k-yamamori","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/45365650dafa6b8aea08257d8f2eb9e4"},"headline":"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB","datePublished":"2024-07-29T04:30:00+00:00","dateModified":"2024-07-31T02:35:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855"},"wordCount":153,"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/admin-ajax.jpg","keywords":["mongodb"],"articleSection":["k-yamamori","MongoDB"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855","url":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855","name":"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855#primaryimage"},"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/admin-ajax.jpg","datePublished":"2024-07-29T04:30:00+00:00","dateModified":"2024-07-31T02:35:29+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/45365650dafa6b8aea08257d8f2eb9e4"},"description":"k-yamamori, MongoDB |MongoDB\u30c6\u30af\u30cb\u30ab\u30eb\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u306e\u5c71\u68ee\u3067\u3059\u3002\u5b50\u4f9b\u305f\u3061\u306f\u590f\u4f11\u307f\u306b\u7a81\u5165\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u5916\u306b\u51fa\u308c\u3070\u81ea\u8ee2\u8eca\u306b\u4e57\u308b\u7b11\u9854\u306e\u5c0f\u4e2d\u5b66\u751f\u3092\u898b\u307e\u3059\u3057\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5f8c\u308d","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855#primaryimage","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/admin-ajax.jpg","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2024\/07\/admin-ajax.jpg","width":600,"height":450},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb\/74855#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"\u30c7\u30fc\u30bf\u200b\u200b\u30de\u30cd\u30b8\u30e1\u30f3\u30c8","item":"https:\/\/www.creationline.com\/tech-blog\/data-management"},{"@type":"ListItem","position":3,"name":"MongoDB","item":"https:\/\/www.creationline.com\/tech-blog\/data-management\/mongodb"},{"@type":"ListItem","position":4,"name":"MongoDB\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30d1\u30ef\u30fc\u3092\u4f53\u611f\u3059\u308b #MongoDB #documentDB"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/45365650dafa6b8aea08257d8f2eb9e4","name":"k-yamamori","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/06\/Kayou-Yamamori_Profile-150x150.jpg","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/06\/Kayou-Yamamori_Profile-150x150.jpg","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/06\/Kayou-Yamamori_Profile-150x150.jpg","caption":"k-yamamori"},"description":"MongoDB\u65e5\u672c\u8a9e\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u3002IT\u30a4\u30f3\u30d5\u30e9\u3084\u904b\u7528\u30fb\u76e3\u8996\u30fb\u4fdd\u5b88\u304c\u597d\u304d\u3067\u3059\u3002 \u7121\u99c4\u306e\u306a\u3044\u69cb\u6210\u3084\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u898b\u3066\u3046\u3063\u3068\u308a\u3057\u3066\u3044\u307e\u3059\u3002","url":"https:\/\/www.creationline.com\/tech-blog\/author\/k-yamamori"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/74855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/66"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=74855"}],"version-history":[{"count":1,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/74855\/revisions"}],"predecessor-version":[{"id":74857,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/74855\/revisions\/74857"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media\/74856"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=74855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=74855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=74855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}