mongodb删除数据库会删除索引吗
发布网友
发布时间:2022-04-22 04:13
我来回答
共2个回答
热心网友
时间:2022-04-08 08:29
MongoDB 增加用户 删除用户 修改用户 读写权限 只读权限,
MongoDB用户权限分配的操作是针对某个库来说的。--这句话很重要。
1、 进入ljc 数据库:
use ljc; -www.2cto.com- --ljc为数据库名称。
2、添加用户(读写权限,readOnly-->false):
db.addUser("java","java");
3、 查看一下所有的用户
db.system.users.find();
{ "_id" : ObjectId("4e02a89fb841deb5fda3e5e2"), "user" : "java", "readOnly" : fa
lse, "pwd" : "59cf7cc156874cbd35cb00869126f569" }
4、用户授权。
db.auth("java","java");
1 显示为1 表示授权成功,0表示不成功。
5、 添加用户(只读权限,readOnly-->true):
db.addUser("java1","java1",true);
db.system.users.find();
{ "_id" : ObjectId("4e02a89fb841deb5fda3e5e2"), "user" : "java", "readOnly" : fa
lse, "pwd" : "59cf7cc156874cbd35cb00869126f569" }
{ "_id" : ObjectId("4e02aae6b841deb5fda3e5e3"), "user" : "java1", "readOnly" : t
rue, "pwd" : "fca6bda05c87a72cce0a4a6458d1e266" }
注意上面标红的位置的readOnly 只读于可写是有区别的。
6、更改密码(为已经存在的用户更改密码):
db.addUser("java","java1");
7、删除用户:
db.system.users.remove({user:"java1"});
关于库权限,如果用户需要全局的权限,可以在admin和local的两个库里添加,但是需要重启库,
有待验证。
==========================================================================
MongoDB增加用户认证: 增加用户、删除用户、修改用户密码、读写权限、只读权限
说明:增加用户是针对数据库进行操作
1.进入到数据库 use dbname
2.针对当前数据库添加用户 权限是针对当前数据
1.添加并验证用户
> use admin
> db.addUser("zjx","tsjianxin")
> db.auth("zjx","tsjianxin")
2.查看已存在的用户
> db.system.users.find()
3.现在来给另一个数据库51cv配置一个读写权限的-www.2cto.com-用户
> use 51cv
> db.addUser("51cvrw","51cv")
..."readOnly" : false...
4.配置一个只读权限的用户
> use 51cv
> db.addUser("51cvr","51cv",true)
> db.system.users.find()
..."readOnly" : true...
5.删除用户
> use dbname (admin or 51cv ,etc)
> db.system.users.remove({user:"haha"})
> db.system.users.find()
6.用户登录数据库测试
for:mongod dbname -u uname -p password
mongo admin -u zjx -p tsjianxin
热心网友
时间:2022-04-08 09:47
删除数据库会删掉整个库下的所有对象,索引当然也会删除了
Mongodb Delete与TTL索引删除数据磁盘不释放
在MongoDB的管理中,数据清理至关重要。有两种主要方法——普通删除与TTL索引,它们虽然都能从逻辑上移除数据,但在磁盘空间管理上有所差异。普通删除操作,通过delete命令,删除文档后,虽然文档从集合中移除,但占用的磁盘空间并不会立即释放。WiredTiger引擎会标记这部分空间为可重用,有利于写入效率,但可...
mangodb删除记录对索引的影响
导致性能下降。MongoDB是一个基于分布式文件存储的数据库,其中该数据库删除记录对索引的影响是导致性能下降,MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
[博学谷学习记录]超强总结,用心分享之MongoDB高级使用
MongoDB自动为_id字段创建唯一索引,可通过db.collection.getIndexes()查看索引情况。创建索引使用createIndex方法,可指定升序或降序。删除索引则有基于名称或字段值的选项,甚至能删除所有索引。3. 索引类型与特性 单键索引与复合索引各有优势,执行计划和explain()函数帮助分析索引效果。局部索引仅对部分文档...
MongoDB 索引
索引支持在MongoDB中高效地执行查询。如果没有索引,MongoDB必须执行全集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。如果查询存在适当的索引,MongoDB可以使用...
MongoDB 是什么?看完你就知道了
MongoDB保留了关系型数据库即时查询的能力,保留了索引(底层是基于B tree)的能力。这一点汲取了关系型数据库的优点,相比于同类型的NoSQL redis 并没有上述的能力。(3)复制能力 MongoDB自身提供了副本集能将数据分布在多台机器上实现冗余,目的是可以提供自动故障转移、扩展读能力。(4)速度与持久性 MongoDB的驱...
谁能说说mangodb 和 hbase的区别
6.mongodb的delete会将该行的数据标示为已删除,因为mongodb在删除记录时并不是真把记录从内存或文件中remove,而是将该删除记录数据置空(写0或特殊数字加以标识)同时将该记录所在地址放到一个list列表“释放列表”中,这样做的好就是就是如果有用户要执行插入记录操作时,mongodb会首先从该“释放列表...
删除MongoDB重复数据的4种方法
shift()作用是剔除队列中第一条id,避免删掉所有的数据;方法三:直接在原集合建立索引,在让MongoDB在建立索引的过程中删除重复数据db.Collection.ensureIndex({your_unique_key:1},{unique:true,dropDups:true})上述命令的dropDups参数告诉MongoDB,如果遇上了unique冲突的数据,就直接删除冲突的数据 方法...
mongodb和redis区别是什么?
MongoDB却是一个“存储数据”的系统,增删改查可以添加很多条件,就像SQL数据库一样灵活,这一点在面试的时候很受用。《linux 就该这么学》Mongodb与Redis应用指标对比 MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的...
mongodb为什么没创建索引,他就有索引
2.6 版本之前,在 secondary server 中即使使用 background 方式建立索引,secondary 还是会以 foreground 方式建立索引,它导致 secondary 同样引发数据库阻塞问题。2.6 版本修复了这个 Bug,2.6 版之后使用 background 方式建立索引时,真正转向后台运行了。为了尽量降低建立索引对 MongoDB Server 的影响...
mongodb和mysql的区别
在MongoDB中频繁的进行数据增删改时,如果记录变了,例如数据大小发生了变化,这时候容易产生一些数据碎片,出现碎片引发的结果,一个是索引会出现性能问题,另外一个就是在一定的时间后,所占空间会莫明其妙地增大,所以要定期把数据库做修复,定期重新做索引,这样会提升MongoDB的稳定性和效率。在最新的...