创建数据库
use admin
授权
db.auth("admin","123456")
创建用户
db.createUser({
user: "xxx",
pwd: "xxxxxx",
roles: [
{ role: "readWrite", db: "iot" }
]
})
查询数据库大小
show dbs;
查询结果数量
db.mon.find().count()
删除数据库
db.dropdatabase()
查询一条,查看表结构
db.mon.findone()
查询数据
db.mon.find().skip(2).limit(4)
创建集合
iiot> db.createCollection("mon")
{ ok: 1 }
删除集合
iiot> db.mon.drop()
true
插入数据
db.mon.insert({"name":"张三","age":"18"})
db.mon.insert({"name":"李四","age":"19"})
db.mon.insert({"name":"王五","age":"20"})
查询数据库数据
iiot> db.mon.find()
[{ _id: ObjectId('673d4613a40aa131622202d8'), name: '张三', age: '18' },{ _id: ObjectId('673d466aa40aa131622202d9'), name: '李四', age: '19' },{ _id: ObjectId('673d466ca40aa131622202da'), name: '王五', age: '20' }
]
根据条件查询数据
iiot> db.mon.find({"age" : "19"})
[{ _id: ObjectId('673d466aa40aa131622202d9'), name: '李四', age: '19' }
]
根据条件范围查询数据
iiot> db.mon.find({"age":{"$lt":"20"}})
[{ _id: ObjectId('673d4613a40aa131622202d8'), name: '张三', age: '18' },{ _id: ObjectId('673d466aa40aa131622202d9'), name: '李四', age: '19' }
]
删除数据
iiot> db.mon.deleteOne({"age":"18"})
{ acknowledged: true, deletedCount: 1 }
iiot> db.mon.deleteMany({"age":"18"})
{ acknowledged: true, deletedCount: 2 }
iiot> db.mon.remove({})
{ acknowledged: true, deletedCount: 9613647 }
iiot> db.mon.drop({})
索引操作
iiot> db.mon.totalIndexSize()
378810368
db.mon.createIndex({"expireAt":-1},{expireAfterSeconds:30});
db.mon.createIndex({deviceCode:1});
iot> db.mon.dropIndexes()
{nIndexesWas: 4,msg: 'non-_id indexes dropped for collection',ok: 1
}
备份数据库
mongodump --host 127.0.0.1 -d iot -uxxx -pxxxxxx -o /backup --gzip
mongodump -d iot -uxxx -pxxxxxx -o /backup --gzip/dump/iot/xxx_logs.bson
/dump/iot/xxx_logs.metadata.json
xxx_logs.bson和xxx_logs.metadata.json 至还原服务器
/dump/iot/iot.bson
/dump/iot/iot.metadata.json
--host:指定ip和端口
-u:用户
-p:密码
-c: 指定集合名称
-d:指定备份的库名
-o: 备份输出到哪个目录
--gzip:从压缩文件中进行恢复
--drop:恢复数据之前删除原来数据库数据,避免数据重复
还原数据库
mongorestore --host 127.0.0.1:27017 -uxxx -pxxxxxx -d xxx -c xxx /backup/iot/xxx.bson.gz --gzip --drop
--host:指定ip和端口
-u:用户
-p:密码
-d:指定恢复的库名
--dir: 指定恢复目录
--gzip:压缩备份文件