Mongodb--常用命令

数据导入导出

导出单个集合

mongoexport -d some_db -u xxx -p xxx -c some_collection -o some_collection.js --pretty

导入单个集合

mongoimport --drop -d some_db -u xxx -p xxx -c some_collection some_collection.js

全库备份

mongodump -o /opt/mongodb_data

导出数据库

mongodump -d some_db -u xxx -p xxx -o /opt/mongodb_data

导入数据库

mongorestore --drop -d some_db -u xxx -p xxx --dir /opt/mongodb_data/some_db

导入json文件

mongo some_db -u xxx -p xxx < test.js

注意:json文件换行格式需要是linux格式的

用户管理

创建管理员

db.createUser(
    {
        user: "root"
        pwd: "abc123"
        roles: [{ role: "userAdminAnyDatabase", db: "admin"}, "readWriteAnyDatabase"]
    }
)

创建普通用户

db.createUser(
    {
        user: "test"
        pwd: "xyz123"
        roles: [{ role: "dbOwner", db: "some_db"}]
    }
)

修改用户密码

user some_db
db.changeUserPassword("user_name", "new_passwd")

修改用户角色

db.updateUser(
    "user_name",
    {roles: [{role: "dbOwner": db:"some_db"}]}
)

副本集常用操作

添加成员

rs.add({host: "mongodb4:27017", priority: 0, votes: 0})

为了避免新添加的成员在没准备好时参加选举,所以最好把priority和votes设置为0,使用re.status()查看新添加的成员状态是SECONDARY后,再修改它的priority和votes的值

var cfg = rs.conf()
cfg.members[4].priority = 1
cfg.members[4].votes = 1
re.reconfig(cfg)

移除副本集成员

  1. 停掉要移除的副本集成员进程
  2. 连接到副本集的primary,执行下面的语句
    re.remove(“mongod3”)

查看同步状态

db.printReplicationInfo()

指定从哪个节点同步

re.syncFrom("mongodb4:27017")

查询操作

嵌入式文档使用正则表达式查询

db.some_collection.find("user.name": {$regex: "*zhangsan*"})

逻辑查询

db.inventory.find({ price : {$ne: 1.99, $exists: true}})
db.inventory.find({
    $and: [
        { $or : [{ price : 0.99 }, { price: 1.99}]},
        { $or : [{ sale: true }, { qty: {$lt: 20}}]}
    ]
})

$not

db.inventory.find({item: {$not: /^p.*/}})

$or

db.inventory.find($or:[{quantity: {$lt:20}},{price: 10}])

查询一个字段多个值的情况用$in

db.inventory.find({quantity: {$in: [20, 50]}})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值