Remove 以及dorp做实验验证MongoDB删除文档后索引是否会自动删除
下面是实验步骤:
> db.things.find()
{ "_id" : ObjectId("5652d71a1524dc14663060e8"), "x" : 4, "j" : 2 }
{ "_id" : ObjectId("5652d71a1524dc14663060e9"), "x" : 4, "j" : 3 }
{ "_id" : ObjectId("5652d71a1524dc14663060ea"), "x" : 4, "j" : 4 }
{ "_id" : ObjectId("5652d71a1524dc14663060eb"), "x" : 4, "j" : 5 }
{ "_id" : ObjectId("5652d71a1524dc14663060ec"), "x" : 4, "j" : 6 }
{ "_id" : ObjectId("5652d71a1524dc14663060ed"), "x" : 4, "j" : 7 }
{ "_id" : ObjectId("5652d71a1524dc14663060ee"), "x" : 4, "j" : 8 }
{ "_id" : ObjectId("5652d71a1524dc14663060ef"), "x" : 4, "j" : 9 }
{ "_id" : ObjectId("56d6925aec16355d82bc18fd"), "x" : 4, "j" : 1 }
{ "_id" : ObjectId("56d6925aec16355d82bc18fe"), "x" : 4, "j" : 2 }
{ "_id" : ObjectId("56d6925aec16355d82bc18ff"), "x" : 4, "j" : 3 }
{ "_id" : ObjectId("56d6925aec16355d82bc1900"), "x" : 4, "j" : 4 }
{ "_id" : ObjectId("56d6925aec16355d82bc1901"), "x" : 4, "j" : 5 }
{ "_id" : ObjectId("56d6925aec16355d82bc1902"), "x" : 4, "j" : 6 }
{ "_id" : ObjectId("56d6925aec16355d82bc1903"), "x" : 4, "j" : 7 }
{ "_id" : ObjectId("56d6925aec16355d82bc1904"), "x" : 4, "j" : 8 }
{ "_id" : ObjectId("56d6925aec16355d82bc1905"), "x" : 4, "j" : 9 }
{ "_id" : ObjectId("56d6925aec16355d82bc1906"), "x" : 4, "j" : 10 }
{ "_id" : ObjectId("56d6925aec16355d82bc1907"), "x" : 4, "j" : 11 }
{ "_id" : ObjectId("56d6925aec16355d82bc1908"), "x" : 4, "j" : 12 }
Type "it" for more
> it
{ "_id" : ObjectId("56d6925aec16355d82bc1909"), "x" : 4, "j" : 13 }
{ "_id" : ObjectId("56d6925aec16355d82bc190a"), "x" : 4, "j" : 14 }
{ "_id" : ObjectId("56d6925aec16355d82bc190b"), "x" : 4, "j" : 15 }
{ "_id" : ObjectId("56d6925aec16355d82bc190c"), "x" : 4, "j" : 16 }
{ "_id" : ObjectId("56d6925aec16355d82bc190d"), "x" : 4, "j" : 17 }
{ "_id" : ObjectId("56d6925aec16355d82bc190e"), "x" : 4, "j" : 18 }
{ "_id" : ObjectId("56d6925aec16355d82bc190f"), "x" : 4, "j" : 19 }
{ "_id" : ObjectId("56d6925aec16355d82bc1910"), "x" : 4, "j" : 20 }
>
在文档15上创建索引:
> db.things.ensureIndex({"x":4,"j":15})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
在文档16上创建索引,并命名为duansf
> db.things.ensureIndex({"x":4,"j":16},{"name":"duansf"})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 2,
"numIndexesAfter" : 3,
"ok" : 1
}
>
查索引:
> db.things.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "test.things",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"x" : 4,
"j" : 15
},
"name" : "x_4_j_15",
"ns" : "test.things"
},
{
"v" : 1,
"key" : {
"x" : 4,
"j" : 16
},
"name" : "duansf",
"ns" : "test.things"
}
]
>
用remove命令删除所有文档:
> db.things.remove({})
WriteResult({ "nRemoved" : 26 })
>
things集合记录为空
> db.things.find()
但索引还存在:
> db.things.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "test.things",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"x" : 4,
"j" : 15
},
"name" : "x_4_j_15",
"ns" : "test.things"
},
{
"v" : 1,
"key" : {
"x" : 4,
"j" : 16
},
"name" : "duansf",
"ns" : "test.things"
}
]
>
清空整个集合:
> db.things.drop()
true
>
>
> db.things.find()
>
>
下面可以看到索引不再存在:
> db.things.getIndexes()
[ ]
>
结论:集合清空后,索引自动删除
文档删除后,被删除文档对应的索引还在
Remove 以及dorp做实验验证MongoDB删除文档后索引是否会自动删除的更多相关文章
- mongodb remove删除文档的用法
在看<mongoDB权威指南>中,在删除文档时,出现问题: 书中介绍:采用db.foo.remove()命令则可以删除foo集合中所有的文档,但是在执行该命令时,shell客户端却报错. ...
- MongoDB学习笔记二:创建、更新及删除文档
插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...
- Mongodb(3)插入文档,更新文档,删除文档
insert() 方法 要插入数据到 MongoDB 集合,需要使用 MongoDB 的 insert() 或 save() 方法. 插入文档:db.COLLECTION_NAME.insert(d ...
- Mongodb 笔记02 创建、更新和删除文档
创建.更新和删除文档 1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). ...
- MongoDB(二)创建更新删除文档
插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...
- MongoDB创建\更新\删除文档操作
一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...
- MongoDB学习笔记-创建、更新、删除文档
创建 MongoDB中使用insert方法来向集合插入文档,然后保存到MongoDB中. db.foo.insert({"hehe":"呵呵"} ...
- 创建、更新、删除文档。 --- Mongodb权威指南阅读。
插入文档: db.foo.insert({ "key" : "value"}); 使用insert插入一个数据,文档中如果没有_id 会自动给文档增加_id. ...
- MongoDB 教程(七):插入文档、更新文档、删除文档
MongoDB 插入文档 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式 —— BSON是一种类json的二进制形式的存储格式,简称Binary JSON. MongoDB ...
随机推荐
- php基础面试题:
1:print.print_r.echo到底有什么区别? 2:get和post的区别 echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对 ...
- java debugger
当你想找方法被哪个地方调用了,可以打断点看debugger方法栈 idea Debugger
- android 圆角编写(懒得去找,写给自己看的)
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="r ...
- java服务端技术
服务端框架:1.servlet2.netty 协议:1.http 1.02.http 1.1 数据库:mysql 对象关系映射(ORM)框架:mybatis 缓存:redis eclipse能运行,导 ...
- iOS-登录认证/json解析
用户输入用户名和密码,点击登录...我们把用户名和密码(用post方式或者get方式,get方式多用于测试看你需要)传给服务器,服务器进行判断,然后返回一个接口给我们(这里服务器返回的json接口,正 ...
- 【006】【JVM——垃圾收集器总结】
Java虚拟机学习总结文件夹 JVM--垃圾收集器总结 垃圾收集器概览 收集算法是内存回收的方法论.垃圾收集据是内存回收的详细实现.Java虚拟机规范中对垃圾收集器应该怎样实现没有规定.不同的厂 ...
- vue-cli+webpack在生成的项目中使用bootstrap方法(一)
在一个html页面中加入bootstrap是很方便,就是一般的将css和js文件通过Link和Script标签就行. 那么在一个用vue-vli生成的前端项目中如何加入?因为框架不一样了,略微要适应一 ...
- SQLite区分大小写查询
http://www.cnblogs.com/zhuawang/archive/2013/01/15/2861566.html 大部分数据库在进行字符串比较的时候,对大小写是不敏感的.但是,在SQLi ...
- 在PL/SQL中调用存储过程--oracle
在oracle10中写好了存储过程,代码如下: CREATE OR REPLACE Procedure Proc_Insert ( sName in varchar2, sAge in int, sE ...
- AIX上打包排除某些文件/文件夹
Syntax X/Open Standards: tar {-c|-r|-t|-u|-x} [-B] [ -d ] [ -E ] [ -F ] [-h ] [ -i ] [ -l ] [ -m ] [ ...