MongoDB增删改查

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(内置角色):

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__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
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0