Mongodb常用命令

1.创建数据库
//如果数据库不存在,则创建数据库,否则切换到指定数据库
use test
//开启分片
sh.enableSharding("test");
//查看数据库状态
db.stats()
2.添加用户且认证数据库
//admin 下创建用户   Database User Roles: read|readWrite   Database Admin Roles: dbAdmin|dbOwner|userAdmin
// Cluster Admin Roles: clusterAdmin|clusterManager|clusterMonitor|hostManager
// Backup and Restoration Roles: backup|restore
//  All-Database Roles: readAnyDatabase|readWriteAnyDatabase|userAdminAnyDatabase|dbAdminAnyDatabase
//Superuser Roles: root 
use admin 
db.createUser(
   {
     user: "root",
     pwd: "root",
     roles: [{"role":"root","db":"admin"}]
   }
)
//认证时侯切到admin下认证
use admin 
db.auth("root","root")

//dingxy3 下创建用户
use dingxy3
db.createUser(

   {
     user: "test",
     pwd: "test",
     roles: [{"role":"dbOwner","db":"test"},{role:"root",db:"admin"}]
   }
)
//认证时侯切到mso_object_test下认证
use test 
db.auth("test","test")
3.删除数据库
db.dropDatabase()
4.删除用户
db.getSiblingDB("test").dropUser("test")//db.dropUser("test")
5.修改用户
db.getSiblingDB("test").updateUser(
    "test",
    {
        roles: [{ "role": "dbOwner", "db": "test" }]
  
    }
)
6.创建集合
db.createCollection("test1")
//开启分片
sh.shardCollection("test.test1", { shardKey : "hashed" } )
7.删除集合
db.collection.drop()
8.分片集群操作相关命令
//mongo --port 32000
//初始化配置集
rs.initiate(
  {
    _id : "config-server",
    configsvr: true,
    members: [
      { _id : 0, host : "mongodb-configserver-1:32000" },
      { _id : 1, host : "mongodb-configserver-2:32000" },
      { _id : 2, host : "mongodb-configserver-3:32000" }
    ]
  }
)

//mongo --port 30001
//初始化shard分片
rs.initiate(
  {
    _id : "shard1",                                                                   
    members: [
      { _id : 0, host : "mongodb-data-1:30001" },
      { _id : 1, host : "mongodb-data-2:30001" },
      { _id : 2, host : "mongodb-data-3:30001" }
    ]
  }
)

 //分片加入 mongos
 // 登录任意一台mongos 启动mongos --config /etc/mongodb/mongos.conf
 //连接mongo --port 31000
 //执行增加分片命令
 use admin //使用admin数据库
 sh.addShard("shard1/mongodb-data-1:30001,mongodb-data-2:30001,mongodb-data-3:30001")
 sh.addShard("shard2/mongodb-data-1:30002,mongodb-data-2:30002,mongodb-data-3:30002")
 sh.addShard("shard3/mongodb-data-1:30003,mongodb-data-2:30003,mongodb-data-3:30003")

//查看分片集群状态
sh.status()

//开启数据库分片
sh.enableSharding("test");

//开启集合分片
sh.shardCollection("test.test1", { shardKey : "hashed" } )
9.集合中插入数据
db.test.insert({"name":"test1"})
--BulkWriteResult({
	"writeErrors" : [ ],
	"writeConcernErrors" : [ ],
	"nInserted" : 1,
	"nUpserted" : 0,
	"nMatched" : 0,
	"nModified" : 0,
	"nRemoved" : 0,
	"upserted" : [ ]
})
db.test.insertMany([{"name":"test12"},{"name":"test12"}]) ???
//批量插入 bulk操作
db.dingxy3.insertMany([{"name":"test15"},{"name":"test16"}])
{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("5f87f8ba8f3507b9256589e6"),
		ObjectId("5f87f8ba8f3507b9256589e7")
	]
}
10.更新数据
db.test.update({"name":"jack"},{$set:{"name":"test16"}}) //报错
db.test.update({"name":"jack","_id":ObjectId("5f87f8808f3507b9256589e4")},{$set:{"name":"dingxy6"}})//OK
db.test.update({"name":"test16"},{$set:{"name":"jack"}},{multi:true})//ok
db.test.update({"name":"jack"},{$set:{"name":"test16"}})//name设置为分片键ok
db.test.update({"_id":ObjectId("5f87f8808f3507b9256589e4")},{$set:{"name":"test16"}}{upsert:true
})//name设置分片键 报错
{"name":"test16"}
11.删除数据
db.test.remove({"name":"test18"})//清除所有name:dingxy6(已废弃)
db.test.deleteOne({"name":"test18"})//报错
db.test.deleteMany({"name":"test8"})//ok
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值