2021-05-22 17:48:23 +08:00

28 KiB
Raw Permalink Blame History

mongoDB

创建新用户

// 创建用户要在当前数据库中创建先use到那个数据库再创建用户
db.createUser(
  {
    user: "yingbo",
    pwd: "623910ert",
    roles: [ { role: "dbAdmin", db: "yingbo" },{ role: 'readWrite', db: "yingbo"} ]
  }
)

db.createUser(
  {
    user: "admin",
    pwd: "rqRrjTDaq9",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
db.createUser(
  {
    user: "admin",
    pwd: "dY1oU0wM6yW9",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
db.createUser(
  {
    user: "code",
    pwd: "rtRrjfSau8",
   roles: [ { role: "dbOwner", db: "code" }]
  }
)
db.createUser(
  {
    user: "coc",
    pwd: "qlSfefSor5",
   roles: [ { role: "dbOwner", db: "coc" }]
  }
)
db.createUser(
  {
    user: "pb",
    pwd: "wO0pM5rD9eP3",
   roles: [ { role: "dbOwner", db: "pb" }]
  }
)
db.createUser(
  {
    user: "teaweb",
    pwd: "srVgEGwTf4",
   roles: [ { role: "dbOwner", db: "teaweb" }]
  }
)
db.createUser(
  {
    user: "coc",
    pwd: "qlSfefSor5",
   roles: [ { role: "dbOwner", db: "coc" }]
  }
)
db.createUser(
  {
    user: "neko",
    pwd: "lO1wV2gT0eJ0",
   roles: [ { role: "dbOwner", db: "neko" }]
  }
)
db.createUser(
  {
    user: "web",
    pwd: "xA5uU1eZ6fV1",
   roles: [ { role: "dbOwner", db: "web" }]
  }
)
db.createUser(
  {
    user: "ningtea",
    pwd: "ningtea",
   roles: [ { role: "dbOwner", db: "ningtea" }]
  }
)
db.createUser(
  {
    user: "card_order",
    pwd: "mE2dD2tL0dP0",
   roles: [ { role: "dbOwner", db: "card_order" }]
  }
)
db.dropUser("goldbird")

log目录 /var/log/mongodb/mongod.log

db目录 /var/lib/mongo

配置文件 /etc/mongod.conf

端口 12236

启动/重启/停止 sudo service mongod start/restart/stop

开启用户认证 conf 文件加

security:
  authorization: enabled

登录

//方法一
mongo --port 12236 -u "admin" -p "rqRrjTDaq9" --authenticationDatabase "admin"
mongo --port 12236 -u "yingbo" -p "623910ert" --authenticationDatabase "yingbo"
mongo --port 12236 -u "code" -p "rtRrjfSau8" --authenticationDatabase "code"
mongo --port 12236 -u "yiban" -p "623910ert" --authenticationDatabase "yiban"
mongo --port 12236 -u "apiwx" -p "srVgEGwTf4" --authenticationDatabase "apiwx"
mongo --port 12236 -u "coc" -p "qlSfefSor5" --authenticationDatabase "coc"
mongo --port 27017 -u "yg" -p "zV1pL8sP4nQ1" --authenticationDatabase "yg"
//方法二
db.auth("yingbo", "623910ert")
db.auth("yiban", "623910ert")
db.auth("admin", "rqRrjTDaq9")
db.auth("code", "rtRrjfSau8")
db.auth("coc", "qlSfefSor5")
db.auth("apiwx", "srVgEGwTf4")
db.auth("teaweb", "srVgEGwTf4")

// pi
db.addUser('ccb', 'srVgEGwTf4')
db.addUser('coc', 'qlSfefSor5')
db.addUser('test', 'srVgEGwTf4')
db.addUser('yg', 'zV1pL8sP4nQ1')
db.auth("ccb", "srVgEGwTf4")
db.auth("test", "srVgEGwTf4")
db.auth("yg", "zV1pL8sP4nQ1")

// lacus 39.96.28.83
db.auth("admin", "dY1oU0wM6yW9")
db.auth("ccb", "wL2wG2aD6aI1")
db.auth("yg", "zV1pL8sP4nQ1")
db.auth("cherry", "fR1jW2xG3bE9")
db.auth("pb", "wO0pM5rD9eP3")
db.auth("pc", "zV1pL8sP4nQ1")
db.auth("goldbird", "oM9eA2lI1uC2")
db.auth("qrcode", "mR6rN4pI0rU6")
db.auth("wxapi", "uJ5hB9mJ0gR2")
db.auth("teaweb", "srVgEGwTf4")
db.auth("curl", "jV9cL0eW6mX4")
db.auth("web", "xA5uU1eZ6fV1")
db.auth("neko", "lO1wV2gT0eJ0")
db.auth("rocketchat", "vY8aN4zQ8kN3")
db.auth("card_order", "mE2dD2tL0dP0")

// pve
db.createUser(
  {
    user: "teaweb",
    pwd: "uJ5hB9mJ0gR2",
   roles: [ { role: "dbOwner", db: "teaweb" }]
  }
)
db.auth("admin", "dY1oU0wM6yW9")
db.auth("teaweb", "uJ5hB9mJ0gR2")

docker exec -it 8b4f1cbbf048 mongo admin

显示所有数据库

show dbs

删库

use <dbname>
db.dropDatabase()

显示所有集合

show tables 或者 show collections

创建集合

//正常情况下直接插入数据就可以自动新建一个集合

//创建固定集合 mycol整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。
db.createCollection("<collectionName>", { capped : true, autoIndexId : true, size : 
   6142800, max : 10000 } )

//单纯的新建一个集合
db.createCollection("<collectionName>")

删除集合

db.<collectionName>.drop()

db.<collectionName>.insert(<object>)

db.<collectionName>.remove({key:value}) find里边可以为{}删除全部

db.<collectionName>.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
/*
    query : update的查询条件类似sql update查询内where后面的。
    update : update的对象和一些更新的操作符如$,$inc...也可以理解为sql update查询内set后面的
    upsert : 可选这个参数的意思是如果不存在update的记录是否插入objNew,true为插入默认是false不插入。
    multi : 可选mongodb 默认是false,只更新找到的第一条记录如果这个参数为true,就把按条件查出来多条记录全部更新。
    writeConcern :可选,抛出异常的级别。
*/

db.<collectionName>.find({key:value}) find里边可以没有参数

//格式化显示
db.col.find().pretty()

//条件语句
db.col.find({likes : {$lt :200, $gt : 100}}).pretty() //限制 100<likes<200

$lt:小于
$lte:小于或等于
$gt:大于
$gte:大于或等于
$ne: 不等于

$type: 
    Double 	1 	 
    String 	2 	 
    Object 	3 	 
    Array 	4 	 
    Binary data 	5 	 
    Undefined 	6 	已废弃。
    Object id 	7 	 
    Boolean 	8 	 
    Date 	9 	 
    Null 	10 	 
    Regular Expression 	11 	 
    JavaScript 	13 	 
    Symbol 	14 	 
    JavaScript (with scope) 	15 	 
    32-bit integer 	16 	 
    Timestamp 	17 	 
    64-bit integer 	18 	 
    Min key 	255 	Query with -1.
    Max key 	127

//AND
db.col.find({key1:value1, key2:value2}).pretty()

//OR
db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()

//AND+OR
db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()

Limit与Skip方法

db.<collectionName>.find().limit(<number1>).skip(<number2>)

number1 : 本次查询最多显示条数

number2 : 本次查询跳过的条数


sort() 方法

db.<collectionName>.find().sort({<key>:<number>})

key : 需要进行排序的键名

number : 其中 1 为升序排列,而 -1 是用于降序排列


createIndex() 方法

db.values.createIndex({<key>: <number>, <key>: <number>}, {background: true})

key : 需要进行排序的键名

number : 其中 1 为升序排列,而 -1 是用于降序排列

建索引过程会阻塞其它数据库操作background可指定以后台方式创建索引即增加 "background" 可选参数。 "background" 默认值为false。


aggregate() 方法

db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
{
   "result" : [
      {
         "_id" : "runoob.com",
         "num_tutorial" : 2
      },
      {
         "_id" : "Neo4j",
         "num_tutorial" : 1
      }
   ],
   "ok" : 1
}

$sum 计算总和。 db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])

$avg 计算平均值 db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}])

$min 获取集合中所有文档对应值得最小值。 db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}])

$max 获取集合中所有文档对应值得最大值。 db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}])

$push 在结果文档中插入值到一个数组中。 db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}])

$addToSet 在结果文档中插入值到一个数组中,但不创建副本。 db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}])

$first 根据资源文档的排序获取第一个文档数据。 db.mycol.aggregate([{$group : {_id : "$by_user", first_url : {$first : "$url"}}}])

$last 根据资源文档的排序获取最后一个文档数据 db.mycol.aggregate([{$group : {_id : "$by_user", last_url : {$last : "$url"}}}])

管道

$project修改输入文档的结构。可以用来重命名、增加或删除域也可以用于创建计算结果以及嵌套文档。

结果中就只还有_id,tilte和author三个字段
db.article.aggregate(
    { $project : {
        title : 1 ,
        author : 1 ,
    }}
 );

连id一起删除
db.article.aggregate(
    { $project : {
        _id : 0 ,
        title : 1 ,
        author : 1
    }});

$match用于过滤数据只输出符合条件的文档。$match使用MongoDB的标准查询操作。

db.articles.aggregate( [
  { $match : { score : { $gt : 70, $lte : 90 } } },
  { $group: { _id: null, count: { $sum: 1 } } }
] );

$limit用来限制MongoDB聚合管道返回的文档数。

$skip在聚合管道中跳过指定数量的文档并返回余下的文档。

db.article.aggregate(
    { $skip : 5 });

$unwind将文档中的某一个数组类型字段拆分成多条每条包含数组中的一个值。

$group将集合中的文档分组可用于统计结果。

$sort将输入文档排序后输出。

$geoNear输出接近某一地理位置的有序文档。


MongoDB 复制(副本集)

等树莓派装完再看

MongoDB 分片

等树莓派装完再看

备份

mongodump -h dbhost -d dbname -o dbdirectory

-h MongDB所在服务器地址例如127.0.0.1当然也可以指定端口号127.0.0.1:27017

-d 需要备份的数据库实例例如test

-o 备份的数据存放位置例如c:\data\dump当然该目录需要提前建立在备份完成后系统自动在dump目录下建立一个test目录这个目录里面存放该数据库实例的备份数据。

恢复

mongorestore -h <hostname><:port> -d dbname <path>

--host <:port>, -h <:port>
MongoDB所在服务器地址默认为 localhost:27017

--db , -d 
需要恢复的数据库实例例如test当然这个名称也可以和备份时候的不一样比如test2

--drop
恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

<path>
mongorestore 最后的一个参数设置备份数据所在位置例如c:\data\dump\test。

你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。

--dir
指定备份的目录

你不能同时指定 <path> 和 --dir 选项。

mongoexport --host 127.0.0.1 --port 5000 -u wxapi -p uJ5hB9mJ0gR2 --db wxapi -c keyword --type json -o wxapi.json

mongoimport --host 127.0.0.1 --port 27017 -u pb -p wO0pM5rD9eP3 --db pb -c user --type json --file /data/db/pb.json

{ "_id" : ObjectId("5e4feeb072ab8a56f6efd32b"), "password" : "/3pLO7ZGxs3/aZc4c/iCOg==", "codebook" : "", "update_time" : NumberLong("1582296754436"), "mail_addr" : "531347509@qq.com", "uuid" : "2020022122523278", "active" : true }
{ "_id" : ObjectId("5e50f72c72ab8a56f5ab7f38"), "password" : "418VcZRUba306D1v+K+8ew==", "codebook" : "", "update_time" : NumberLong("1582364460140"), "mail_addr" : "1362604986@qq.com", "uuid" : "20200222174100010", "active" : true }
{ "_id" : ObjectId("5e56224272ab8a044f2a92b8"), "password" : "5iKuM+zMqbZTTB27mm9yAg==", "active" : true, "codebook" : "", "mail_addr" : "1597291489@qq.com", "update_time" : NumberLong("1582703170957"), "uuid" : "2020022615461093" }
{ "_id" : ObjectId("5e75c2b772ab8a02788d0151"), "mail_addr" : "1269149065@qq.com", "codebook" : "", "uuid" : "2020032115310340", "update_time" : NumberLong("1584775865277"), "active" : false, "password" : "NY/XYq1cZzhnkmYZ0p78SA==" }
{ "_id" : ObjectId("5e7d6ed772ab8a02788d0152"), "active" : true, "codebook" : "vD6yeixdD2VlNduZOCli9OzfOpsJL8O/cv4bsKeR7Flk5+W0KQy4oVl0iUNqtMNHSvhCeVtAO5PC1DfLbk6eTrktevo6m0Ab2H7xMlB3cRGLSyl+vohRT1jwHOb98xh97w9D34ZvLVzj/lSzFYNXG7m0JkAAq/TiTu9ZGeM1TMOIeT6j6UkoVEBG77AHHBbGPAMbE9DdaD6u31WAN2yeJQ==", "mail_addr" : "cyw13089178067@outlook.com", "password" : "u52FaDeXCxxTEJnGIJN3cA==", "update_time" : NumberLong("1585279034908"), "uuid" : "2020032711111912" }
{ "_id" : ObjectId("5e7d713772ab8a0277302540"), "mail_addr" : "cyw16089178097@outlook.com", "codebook" : "", "uuid" : "2020032711212727", "update_time" : NumberLong("1585279285143"), "active" : false, "password" : "u52FaDeXCxxTEJnGIJN3cA==" }
{ "_id" : ObjectId("5e806fb672ab8a0269b4842d"), "update_time" : NumberLong("1585475457680"), "uuid" : "2020032917515070", "password" : "Qtenmdk6Y6748iFGLucurg==", "codebook" : "", "mail_addr" : "1428255238@QQ.COM", "active" : false }
{ "_id" : ObjectId("5e4fef8572ab8a56f6efd32c"), "active" : true, "codebook" : "1aTyzjHbSCCgFvgMcufJRYA1QojFQwwuToukZ8CzcwKwyuUtZoTV5Z6YfzoDSZ2tb4uRzPnHYtrt7OJZ7IyPBOeUlfI82d52ubwes5l77tx5uT7IIBDBzuU/y2sxKf1gfZtKRGyws7iv150oCZMqwTCHmGQZ+g+gqzGP48Pwme2o3vmQF/Au+cMmv217JTymwhJmKpBS/OeYRrJOV+xmshsd2xReppKP7MjiEWIxk9OgcLPaZAjDK+LgMUAqjjjIai+eGyqRe5B4FoPtznEiSGLHeIc79nVeGPT0hrXE1pmE/lP632vk1cPP7zDmWVpRhUA2FI14IBnojc1PYv0U5A4hr22D+cRN7GPFDLzG6cmSsiEUkaVFQiP57DqmKfXdNrnH4ZNly6ZHCGb/TozPhasQB2vFjV/MM0QgUqXjMhLWUPxE/M4yYQ9dU+JBH1wS4HU973LfP90Gmyq7EY0+O3EsXv+FJKpS5fXxMxHkRJ1DWe41qXnGaUotiyngG5RSM/0cCndHbnva+Ol1YdCyWXGUjlH4vpwB+9YDMdG+aKxHWtAq6PX795OPNkjJwzu33d9xG0MVnIqJ4hTuBYt2oE+O43VvLO3x7ZaYVczXLtJarkTEXH2ZVq+tA5v1InXcai+eGyqRe5B4FoPtznEiSPEjlHINmG5px+iqcCNQOA84os4zt6mOvtR81gRZXLIxMIeYZBn6D6CrMY/jw/CZ7aje+ZAX8C75wya/bXslPKYcO0pIMACwiZpO2eHgrFrYP/QMijhDpLbjVRNzaElvBU6pfvKHWFNkHja9jkr1p2xdpXXYxVyO/eetG6uW0uThj/DY1hNWxZ/HQ+O45nHNsBeKNO+mKffvy+QHUQB2dNYL8zQYQfXUI0AJTtic8qxfcZSOUfi+nAH71gMx0b5orB5gCn53qlB/LBg7c8Jq6w7s4pJ24JqMuT7h3LmnjJtycaq+TzgAmZH7MTTkNKkO/JmmADZWJ1bdX4LCkMdAMMbnlJXyPNnedrm8HrOZe+7cebk+yCAQwc7lP8trMSn9YFNEK6CFT+ozxmrz4ksA1YpQOdsRsPPCKxmndjxJqgYY3+MQal9jtGQr9WtAGxsQV+UN/tbi5unwpmvCDDzW5fIK3NSkQta86baUZngxxqSOWx1qVQkQ0z2lWUXj7qVCh/Bpn+VNPsEGT+qSr81Hv4RrNmBwU/9Cl6ElKXSEiMhajsKVWXveUMZ+k7IRYInY3qPA/hdbwjxKfnrlsZ3wainH+uN0tUJPFp4rK2RHOhtGA7jAgt0v0t6Yws8lha8yFgTNFziJJLif+RQEHKEeb+uGxiRvs48xhggUPuFuDtUqI6xcAtIkWMMcYExxOCM6x+dbGbKFdGLri14qYeYxFPYgHJeJv0YW3+WEczmwJqWULsUR1aZVm9L3cn22881DIcCAjjlhEQb6DEFaJW5sq6lQOdsRsPPCKxmndjxJqgYY3+MQal9jtGQr9WtAGxsQV2vV4rcuuLYdsMYAKqMjAs3FmrOwbOlYL5C6xyC+EjjIjtXbnYZCa1lnflv0hvO+HMy0bvXeTJQnDU7YSssghDyAeCZYNWwe+HNT0V+h+A5fuweiJ6gvwNbhXUQpxRHzYj6nlwS5jOZwCFyu9SVAE5WBNjz+wUFLQTN9vclygiHWPKtJ+3/bmhiqQ89BoAnoLw==", "mail_addr" : "1428255238@qq.com", "password" : "Qtenmdk6Y6748iFGLucurg==", "update_time" : NumberLong("1585475735916"), "uuid" : "2020022122560528" }
{ "_id" : ObjectId("5e4fbf9f72ab8a311cf03030"), "active" : true, "codebook" : "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", "mail_addr" : "1144131090@qq.com", "password" : "hrtJQ87gz8Na7nqLTWfmQg==", "update_time" : NumberLong("1585575411354"), "uuid" : "2020022119314324" }