{"id":1072,"date":"2022-03-31T15:26:56","date_gmt":"2022-03-31T07:26:56","guid":{"rendered":"https:\/\/www.buyao007.icu\/?p=1072"},"modified":"2022-04-03T16:10:21","modified_gmt":"2022-04-03T08:10:21","slug":"2-nosql-mongodb%e5%b8%b8%e7%94%a8%e5%9f%ba%e7%a1%80%e6%93%8d%e4%bd%9c","status":"publish","type":"post","link":"https:\/\/www.buyao007.icu\/?p=1072","title":{"rendered":"2.NoSQL&#8211;MongoDB\u5e38\u7528\u57fa\u7840\u64cd\u4f5c"},"content":{"rendered":"\n<p>\u5b59\u5bcc\u9633\uff0c \u6c5f\u6e56\u4eba\u79f0\u6ca1\u4eba\u79f0\u3002\u591a\u5e74\u4e92\u8054\u7f51\u8fd0\u7ef4\u5de5\u4f5c\u7ecf\u9a8c\uff0c\u66fe\u8d1f\u8d23\u8fc7\u5b59\u5e03\u65af\u5927\u89c4\u6a21\u96c6\u7fa4\u67b6\u6784\u81ea\u52a8\u5316\u8fd0\u7ef4\u7ba1\u7406\u5de5\u4f5c\u3002\u64c5\u957fWeb\u96c6\u7fa4\u67b6\u6784\u4e0e\u81ea\u52a8\u5316\u8fd0\u7ef4\uff0c\u66fe\u8d1f\u8d23\u56fd\u5185\u67d0\u5927\u578b\u535a\u5ba2\u7f51\u7ad9\u8fd0\u7ef4\u5de5\u4f5c\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">1.mongodb \u9ed8\u8ba4\u5b58\u5728\u7684\u5e93<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>test:\u767b\u5f55\u65f6\u9ed8\u8ba4\u5b58\u5728\u7684\u5e93\r\n\u7ba1\u7406MongoDB\u6709\u5173\u7684\u7cfb\u7edf\u5e93\r\nadmin\u5e93:\u7cfb\u7edf\u9884\u7559\u5e93,MongoDB\u7cfb\u7edf\u7ba1\u7406\u5e93\r\nlocal\u5e93:\u672c\u5730\u9884\u7559\u5e93,\u5b58\u50a8\u5173\u952e\u65e5\u5fd7\r\nconfig\u5e93:MongoDB\u914d\u7f6e\u4fe1\u606f\u5e93\r\n\r\nshow databases\/show dbs\r\nshow tables\/show collections\r\nuse admin \r\ndb\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">2.\u547d\u4ee4\u79cd\u7c7b<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>db \u5bf9\u8c61\u76f8\u5173\u547d\u4ee4<\/strong>\r\ndb.&#91;TAB]&#91;TAB]\r\ndb.help()\r\ndb.oldboy.&#91;TAB]&#91;TAB]\r\ndb.oldboy.help()\r\n<strong>rs \u590d\u5236\u96c6\u6709\u5173(replication set):<\/strong>\r\nrs.&#91;TAB]&#91;TAB]\r\nrs.help()\r\n<strong>sh \u5206\u7247\u96c6\u7fa4(sharding cluster)<\/strong>\r\nsh.&#91;TAB]&#91;TAB]\r\nsh.help()\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">3.mongodb\u5bf9\u8c61\u64cd\u4f5c<\/h2>\n\n\n\n<p><strong><em>1.\u5e93\u7684\u64cd\u4f5c<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>> use odbboy\r\n>db.dropDatabase()   \r\n{ \"dropped\" : \"test\", \"ok\" : 1 }\r<\/code><\/pre>\n\n\n\n<p><strong><em>2.\u96c6\u5408\u7684\u64cd\u4f5c<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>app> db.createCollection('a')\r\n{ \"ok\" : 1 }\r\napp> db.createCollection('b')\r\n\u65b9\u6cd52\uff1a\u5f53\u63d2\u5165\u4e00\u4e2a\u6587\u6863\u7684\u65f6\u5019\uff0c\u4e00\u4e2a\u96c6\u5408\u5c31\u4f1a\u81ea\u52a8\u521b\u5efa\u3002\r\nuse oldboy\r\ndb.test.insert({name:\"zhangsan\"})\r\ndb.stu.insert({id:101,name:\"zhangsan\",age:20,gender:\"m\"})\r\nshow tables;\r\ndb.stu.insert({id:102,name:\"lisi\"})\r\ndb.stu.insert({a:\"b\",c:\"d\"})\r\ndb.stu.insert({a:1,c:2})\r<\/code><\/pre>\n\n\n\n<p><strong><em>3.\u6587\u6863\u64cd\u4f5c<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u6570\u636e\u5f55\u5165\uff1a\r\nfor(i=0;i&lt;10000;i++){db.log.insert({\"uid\":i,\"name\":\"mongodb\",\"age\":6,\"date\":new\r\nDate()})}\r\n\u67e5\u8be2\u6570\u636e\u884c\u6570\uff1a\r\n> db.log.count()\r\n\u5168\u8868\u67e5\u8be2\uff1a\r\n> db.log.find()\r\n\u6bcf\u9875\u663e\u793a50\u6761\u8bb0\u5f55\uff1a\r\n> DBQuery.shellBatchSize=50; \r\n\u6309\u7167\u6761\u4ef6\u67e5\u8be2\r\n> db.log.find({uid:999})\r\n\u4ee5\u6807\u51c6\u7684json\u683c\u5f0f\u663e\u793a\u6570\u636e\r\n> db.log.find({uid:999}).pretty()\r\n{\r\n\t\"_id\" : ObjectId(\"5cc516e60d13144c89dead33\"),\r\n\t\"uid\" : 999,\r\n\t\"name\" : \"mongodb\",\r\n\t\"age\" : 6,\r\n\t\"date\" : ISODate(\"2019-04-28T02:58:46.109Z\")\r\n}\r\n\r\n\u5220\u9664\u96c6\u5408\u4e2d\u6240\u6709\u8bb0\u5f55\r\napp> db.log.remove({})\r\n\u67e5\u770b\u96c6\u5408\u5b58\u50a8\u4fe1\u606f\r\napp> db.log.totalSize() \/\/\u96c6\u5408\u4e2d\u7d22\u5f15+\u6570\u636e\u538b\u7f29\u5b58\u50a8\u4e4b\u540e\u7684\u5927\u5c0f\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">4.\u7528\u6237\u53ca\u6743\u9650\u7ba1\u7406<\/h2>\n\n\n\n<p><strong><em>1.\u6ce8\u610f<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u9a8c\u8bc1\u5e93: \u5efa\u7acb\u7528\u6237\u65f6use\u5230\u7684\u5e93\uff0c\u5728\u4f7f\u7528\u7528\u6237\u65f6\uff0c\u8981\u52a0\u4e0a\u9a8c\u8bc1\u5e93\u624d\u80fd\u767b\u9646\u3002\r\n\r\n\u5bf9\u4e8e\u7ba1\u7406\u5458\u7528\u6237,\u5fc5\u987b\u5728admin\u4e0b\u521b\u5efa.\r\n1. \u5efa\u7528\u6237\u65f6,use\u5230\u7684\u5e93,\u5c31\u662f\u6b64\u7528\u6237\u7684\u9a8c\u8bc1\u5e93\r\n2. \u767b\u5f55\u65f6,\u5fc5\u987b\u660e\u786e\u6307\u5b9a\u9a8c\u8bc1\u5e93\u624d\u80fd\u767b\u5f55\r\n3. \u901a\u5e38,\u7ba1\u7406\u5458\u7528\u7684\u9a8c\u8bc1\u5e93\u662fadmin,\u666e\u901a\u7528\u6237\u7684\u9a8c\u8bc1\u5e93\u4e00\u822c\u662f\u6240\u7ba1\u7406\u7684\u5e93\u8bbe\u7f6e\u4e3a\u9a8c\u8bc1\u5e93\r\n4. \u5982\u679c\u76f4\u63a5\u767b\u5f55\u5230\u6570\u636e\u5e93,\u4e0d\u8fdb\u884cuse,\u9ed8\u8ba4\u7684\u9a8c\u8bc1\u5e93\u662ftest,\u4e0d\u662f\u6211\u4eec\u751f\u4ea7\u5efa\u8bae\u7684.\r\n5. \u4ece3.6 \u7248\u672c\u5f00\u59cb\uff0c\u914d\u7f6e\u6587\u4ef6\u4e0d\u6dfb\u52a0bindIp\u53c2\u6570\uff0c\u9ed8\u8ba4\u4e0d\u8ba9\u8fdc\u7a0b\u767b\u5f55\uff0c\u53ea\u80fd\u672c\u5730\u7ba1\u7406\u5458\u767b\u5f55\u3002\r<\/code><\/pre>\n\n\n\n<p><strong><em>2.\u7528\u6237\u521b\u5efa\u8bed\u6cd5<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>use admin \r\ndb.createUser\r\n{\r\n    user: \"&lt;name>\",\r\n    pwd: \"&lt;cleartext password>\",\r\n    roles: &#91;\r\n       { role: \"&lt;role>\",\r\n     db: \"&lt;database>\" } | \"&lt;role>\",\r\n    ...\r\n    ]\r\n}\r\n\r\n\u57fa\u672c\u8bed\u6cd5\u8bf4\u660e\uff1a\r\nuser:\u7528\u6237\u540d\r\npwd:\u5bc6\u7801\r\nroles:\r\n    role:\u89d2\u8272\u540d\r\n    db:\u4f5c\u7528\u5bf9\u8c61\t\r\nrole\uff1aroot, readWrite,read   \r\n\u9a8c\u8bc1\u6570\u636e\u5e93\uff1a\r\nmongo -u oldboy -p 123 10.0.0.53\/oldboy\r<\/code><\/pre>\n\n\n\n<p><strong><em>3.\u7528\u6237\u7ba1\u7406\u4f8b\u5b50<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u521b\u5efa\u8d85\u7ea7\u7ba1\u7406\u5458\uff1a\u7ba1\u7406\u6240\u6709\u6570\u636e\u5e93\uff08\u5fc5\u987buse admin\u518d\u53bb\u521b\u5efa\uff09\r\n$ mongo\r\nuse admin\r\ndb.createUser(\r\n{\r\n    user: \"root\",\r\n    pwd: \"root123\",\r\n    roles: &#91; { role: \"root\", db: \"admin\" } ]\r\n}\r\n)\r\n## \u9a8c\u8bc1\u7528\u6237\r\ndb.auth('root','root123')\r\n## \u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u52a0\u5165\u4ee5\u4e0b\u914d\u7f6e\r\nsecurity:\r\n  authorization: enabled\r\n## \u91cd\u542fmongodb\r\nmongod -f \/mongodb\/conf\/mongo.conf --shutdown \r\nmongod -f \/mongodb\/conf\/mongo.conf \r\n## \u767b\u5f55\u9a8c\u8bc1\r\nmongo -uroot -proot123  admin\r\nmongo -uroot -proot123  10.0.0.51\/admin\r\n\r\n\u6216\u8005\r\nmongo\r\nuse admin\r\ndb.auth('root','root123')\r\n\r\n## \u67e5\u770b\u7528\u6237:\r\nuse admin\r\ndb.system.users.find().pretty()\r\n## \u521b\u5efa\u5e94\u7528\u7528\u6237\r\nuse oldboy\r\ndb.createUser(\r\n\t{\r\n\t\tuser: \"app01\",\r\n\t\tpwd: \"app01\",\r\n\t\troles: &#91; { role: \"readWrite\" , db: \"oldboy\" } ]\r\n\t}\r\n)\r\n\r\nmongo  -uapp01 -papp01 oldboy\r\n## \u67e5\u8be2mongodb\u4e2d\u7684\u7528\u6237\u4fe1\u606f\r\nmongo -uroot -proot123 10.0.0.53\/admin\r\ndb.system.users.find().pretty()\r<\/code><\/pre>\n\n\n\n<p><strong><em>4.\u5220\u9664\u7528\u6237\uff08root\u8eab\u4efd\u767b\u5f55\uff0cuse\u5230\u9a8c\u8bc1\u5e93\uff09<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u5220\u9664\u7528\u6237\r\ndb.createUser({user: \"app02\",pwd: \"app02\",roles: &#91; { role: \"readWrite\" , db: \"oldboy1\" } ]})\r\nmongo -uroot -proot123 10.0.0.53\/admin\r\nuse oldboy1\r\ndb.dropUser(\"app02\")\r<\/code><\/pre>\n\n\n\n<p><strong><em>5.\u7528\u6237\u7ba1\u7406\u6ce8\u610f\u4e8b\u9879<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1. \u5efa\u7528\u6237\u8981\u6709\u9a8c\u8bc1\u5e93\uff0c\u7ba1\u7406\u5458admin\uff0c\u666e\u901a\u7528\u6237\u662f\u8981\u7ba1\u7406\u7684\u5e93\r\n2. \u767b\u5f55\u65f6\uff0c\u6ce8\u610f\u9a8c\u8bc1\u5e93\r\nmongo -uapp01 -papp01 10.0.0.51:27017\/oldboy\r\n3. \u91cd\u70b9\u53c2\u6570\r\nnet:\r\n   port: 27017\r\n   bindIp: 10.0.0.51,127.0.0.1\r\nsecurity:\r\n   authorization: enabled\r<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b59\u5bcc\u9633\uff0c \u6c5f\u6e56\u4eba\u79f0\u6ca1\u4eba\u79f0\u3002\u591a\u5e74\u4e92\u8054\u7f51\u8fd0\u7ef4\u5de5\u4f5c\u7ecf\u9a8c\uff0c\u66fe\u8d1f\u8d23\u8fc7\u5b59\u5e03\u65af\u5927\u89c4\u6a21\u96c6\u7fa4\u67b6\u6784\u81ea\u52a8\u5316\u8fd0\u7ef4\u7ba1\u7406\u5de5\u4f5c\u3002\u64c5\u957fWeb\u96c6 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"_links":{"self":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/1072"}],"collection":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1072"}],"version-history":[{"count":1,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/1072\/revisions"}],"predecessor-version":[{"id":1073,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/1072\/revisions\/1073"}],"wp:attachment":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}