MongoDB增删改查
查询数据库: show dbs
进入数据库: use MYDB
查询数据库中表: show tables
在mongo中创建新的用户 并赋予相应权限:
1db.createUser({ 2 3user:<name_string>, #字符串 4 5pwd:<password_string>, #字符串 6 7roles:[{role:<role_name>,db:<db_name>}] #数组+对象 8 9})
user文档字段介绍: user字段,为新用户的名字; pwd字段,用户的密码; cusomData字段,为任意内容,例如可以为用户全名介绍; roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色; 在roles字段,可以指定内置角色和用户定义的角色。
Built-In Roles(内置角色):
- 数据库用户角色:read、readWrite;
- 数据库管理角色:dbAdmin、dbOwner、userAdmin;
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
- 备份恢复角色:backup、restore;
- 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
- 内部角色:__system
创建用户
1例如:给admin添加一个root用户 2> use admin 3switched to db admin 4 5> db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]}) 6Successfully added user: { 7 "user" : "admin", 8 "roles" : [ 9 { 10 "role" : "root", 11 "db" : "admin" 12 } 13 ] 14} 15 16mongodb.conf文件中加入 auth=true 17 18验证用户 19 20> use admin 21switched to db admin 22> db.auth("admin","123456") 23 1 24
删除用户
1db.dropUser(<user_name>) 删除某个用户,接受字符串参数 2 3db.dropAllUser() 删除当前库的所有用户
注意: 在mongo4.0版本中 配置用户认证需要在mongod.cfg中
1security: 2 authorization: enabled
重新启动服务: mongod -f "C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg"
增加
1语法: db.collectionName.insert({json对象}); 2 31. 增加单个文档,json对象格式 4db.user.insert({name:'lee',age:23,sex:'0'}); 5 62. 增加多个文档,数组格式 7db.user.insert([{name:'lee',age:21,sex:'1'},{name:'lee3',age:24,sex:'0'}]);
删除
1语法: db.collection.remove(查询条件, num); 第二个参数是整数型,代表删除的个数;默认是0(删除全部文档) 2 31. 将age等于21的全部删除 4db.user.remove({age:'24'}) 5 62. 删除 1 个 name=lee 的文档 7db.user.remove({name:'lee'},1)
修改
1语法: db.collection.update(查询条件,新值); 2 3 41. 将 name等于lee3 的文档 全部更新 5db.user.update({name:lee3},{name:"lee"}) 6 72. 修改一个文档的字段,必须使用$set:{属性:'值'} 8db.user.update({name:'lee3'},{$set:{name:'haha'}})
查询
1语法: db.collection.find(查询条件,查询的列); 2 31. 查询一个表中的所有文档 4db.user.find() 5 62.查询特定文档 7db.user.find({name:'long'})
数据库迁移 :
1使用mongo自带命令来进行迁移数据库,先导出集合数据再导入数据库中 2 3数据导出:mongoexport -d dbname -c collectionname -o filepath --type json/csv -f field 4 5数据导入:mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field 6 7连接远程mongodb备份导入导出 8 9连接远程数据库:mongo -u username -p pwd host:post/database(数据库名) 10 11注:当该用户有相应权限时,可以查看collection==>查看集合命令:show collections 12 13备份导出:mongodump -h dbhost -d dbname -o dbdirectory 14 15备份恢复:mongorestore -h dbhost -d dbname dbdirectory 16 17可视化工具迁移 18 19详细步骤:https://jingyan.baidu.com/article/63f236287e91c40208ab3d11.html