mongodb学习笔记之索引(转)】的更多相关文章

一.索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:    > db.test.ensureIndex({"username":1})    可以通过下面的名称查看索引是否已经成功建立:    > db.test.getIndexes()    删除索引的命令是:    > db.test.dropIndex({"username":1})    在MongoDB中,我们…
索引是用来加速查询的.有了索引之后,数据库不必进行全表扫描,只需先在索引中查找,再根据找到的索引查找数据.MongoDB的索引几乎和传统关系型数据库一样. 创建索引 创建索引是在相应的集合中使用ensureIndex()方法. >db.user.ensureIndex({"username":1}) 要创建查询中用到的所有键的索引.传递给ensureIndex方法的文档形式与传递给sort的一样:1或-1表示索引的方向.若索引只有一个键时,方向则无关紧要. >db.user…
索引: db.media.createIndex({"Tracklist": 1}) 1表示升序 -1表示降序 我们要着重看一下对数组创建索引的情况. 构建一个集合:db.media.insertOne({"Type": "CD", "Artist": "Nirvana", "Title": "Nevermind", "Tracklist": [{…
索引选项: {background:true}在后台创建索引,索引在构建过程中,其他客户端仍然可以查询数据,不会阻塞. db.comments.createIndex({anonymous: 1},{background: true}) {sparse: true}如果在缺省的字段上建立普通索引,那这个缺省字段会被添加一个null值,这样会浪费空间.创建稀疏索引,更合适,这样节省空间,但也会过滤掉缺省字段的记录. 如下例子:你会发现使用当强制使用稀疏索引的时候,拥有缺省字段的记录消失了. 当我重…
最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. Mong…
索引                                                                                             基础索引 用到ensureIndex方法建立索引,1为升序,-1为降序. MongoDB数据库在创建集合的时候,默认会为_id创建索引. 注:当系统已有大量数据时,创建索引就是一个非常耗时的工作,只需要指定backgroud:true即可. db.yyd.ensureIndex({"name":1}…
mongoDB 学习笔记纯干货(mongoose.增删改查.聚合.索引.连接.备份与恢复.监控等等) http://www.cnblogs.com/bxm0927/p/7159556.html…
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助和启发,文章中有对新技术的研究(Mongo驱动),对老技术的回顾(代码重构),还有对架构设计的阐述等(面向接口编程,对扩展开放,对修改关闭,所以出现了IMongoRepository接口). MongoDB学习笔记系列~目录 MongoDB学习笔记~环境搭建 (2015-03-30 10:34) M…
<?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************************//格式=>("mongodb://用户名:密码 @地址:端口/默认指定数据库",参数)$conn = new Mongo();//可以简写为//$conn=new Mongo(); #连接本地主机,默认端口.//$conn=new Mongo("172…
MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins 表连接,MongoDB不支持 primary key primary key 主键,MongoDB自动将_id字段设置为主…
MongoDB学习笔记(一) MongoDB介绍及安装MongoDB学习笔记(二) 通过samus驱动实现基本数据操作MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系MongoDB学习笔记(五) MongoDB文件存取操作MongoDB学习笔记(六) MongoDB索引用法和效率分析…
主从复制                                                                                       主从节点开启 主节点的设置,只需要在某一个服务启动时加上 –master 参数 ,而从节点加上 –slave 和 –source 参数,即可实现同步. 所有的从节点都从主节点复制内容.目前还没有能从从节点复制的机制,原因是从节点没有保存自己的oplog. 添加及删除源 添加从节点可以在开启的时候不添加源,可以向sou…
权限                                                                                             绑定内网IP访问MongoDB服务 在启动的时候带上 –bind_ip 192.168.1.1 参数,可以使指定IP访问. mongod --bind_ip 192.168.1.1 连接时必须指定IP,否则会失败. mongo 192.168.1.1 用户 MongoDB中默认有一个空的admin数据库,在a…
Capped集合                                                            Capped集合的大小是固定的,如果空间都被用完了,新添加的对象会取代最旧的那个数据. 创建 使用了db.createCollection()方法创建了一个名字为mycapped,空间大小为100000的Capped Colletcion. 限制 如果需要限定Collection中对象的数量,就要设置max参数,如果到了限制的数量,就要移除一个最近的插入. 使用…
MongoDB学习笔记~环境搭建 (2015-03-30 10:34) MongoDB学习笔记~MongoDBRepository仓储的实现 (2015-04-08 12:00) MongoDB学习笔记~ObjectId主键的设计 (2015-04-09 13:08) MongoDB学习笔记~客户端命令行的使用 (2015-04-10 13:40) MongoDB学习笔记~索引提高查询效率 (2015-04-10 15:35) MongoDB学习笔记~为IMongoRepository接口添加分…
一.说明 1.该系列MongoDB学习笔记的学习环境采用的MongoDB版本为mongodb-win32-i386-2.4.6,操作系统为win7. 二.安装 1.新建两个目录,分别是D:\Installations\MongoDB-2.4.6\MongoDB和D:\Installations\MongoDB-2.4.6\MongoDBDATA(用于存放数据库数据文件). 2.将下载的MongoDB压缩包解压,并拷贝里面的文件至D:\Installations\MongoDB-2.4.6\Mon…
MongoDB学习笔记:MongoDB 数据库的命名.设计规范     第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ 有特殊含义,需要避免 区分大小写 键不能重复 键/值对有序 实践约束 [强制]文档中的key禁止使用_以外的特殊字符 [强制]key全部小写,多个单词可以下划线分割 [强制]禁止使用数字打头的key [强制]禁止自定义_id(_id一般自增,使用无序id极有可能降低写入性能) [建议]相似类型文档…
MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. 二.MongoDB安装及配置 查看:https://www.runoob.com/mongodb/mongodb-linux-ins…
MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就是一个让我们可以通过Node来操作MongoDB的模块 Mongoose是一个对象文档模型(ODM)库,它对Node原生的MongoDB模块进行了进一步的优化封装, 并提供了更多的共嗯那个 在大多数情况下, 它被用来把结构化的模式应用到一个MongoDB集合, 并提供了验证和类型转换等好处 Mong…
原文地址 MongoDB学习笔记(查询) 基本查询: 构造查询数据. > db.test.findOne() { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35, "genda" : "male", "email" : "ste…
复制集+sharding分片                                                               背景 主机 IP 服务及端口 Server A 192.168.50.1 shard1_1:27017shard2_1:27018config:20000mongos:30000 Server B 192.168.51.1 shard1_2:27017shard2_2:27018config:20000mongos:30000 创建数据目录及配…
MongoDB学习笔记(2):数据库操作及CURD 数据库操作 创建数据库 首先MongoDB中数据库的创建和数据库的切换都是使用命令,USE DATABASE,如果要切换的数据库不存在则会进行创建,但是我们看到虽然已经创建成功,当前也显示我们在使用myBD数据库,但是却不存在与show列表中,这是因为它当前为空,不存在任何数据,现在我们向其中插入数据: 删除数据库 数据集合的操作 此处勘正: db.COLLECTION_NAME.insert(document) 数据插入的命令如上,所以此处插…
MongoDB学习笔记(1):MongoDB的安装和说明 快速开始 下载地址 官网下载: https://www.mongodb.com/download-center?jmp=nav#community 安装指导: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/ 可视化工具: Robo3T 基本概念 数据库 一个MongoDB中可以建立多个数据库,默认数据库为db位于data目录下. MongoDB的单个实例可…
MongoDB学习笔记一:MongoDB的下载和安装 趁着这几天比較空暇,准备学习一下MongoDB数据库.今天就简单的学习了一些MongoDB的下载和安装.并创建了存储MongoDB的数据仓库. 将自己今天学习到的写成博客分享给大家. 一.MongoDB的下载和安装 MongoDB的下载地址为:http://www.mongodb.org/ 1.进入官网的首页后,在首页的右上方单击Downloads连接,如图所看到的: 2.在页面中能够看到眼下最新的版本号和曾经公布过的版本号,这里选择最新版本…
MongoDB学习笔记:文档Crud Shell   文档插入 一.插入语法 db.collection.insertOne() 将单个文档插入到集合中.db.collection.insertMany() 将多个文件插入集合中. 文档删除 一.删除语法 db.collection.deleteOne() 即使多个文档可以匹配指定的过滤器,也最多删除匹配指定过滤器的单个文档.db.collection.deleteMany() 删除匹配指定过滤器的所有文档. 文档查询 一.查询语法 db.col…
MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mongodb数据库,使用python编写而成: 数据库相关操作 连接及创建数据库 import pymongo connect = pymongo.MongoClient("mongodb://localhost:27017/") mydb = connect ["test"…
回到目录 索引这个东西大家不会陌生,只要接触到稍微大一点的数据,都会用到这东西,它可以提升查询的速度,相当代价就是占用了更多的存储空间,这也是正常的,符合“能量守恒定理”,哈哈!今天说的是MongoDB里的索引,在我进行对500万数据进行查询测试时,发现如果你的查询字段不加索引,那是相当恐怖的,一个简单的查询(单字段)要耗时30多秒,这种操作,基本可以认为服务器挂了,哈哈!当为字段加了索引之后,查询速度为ms级,100毫秒以内的速度真是把经兴奋坏了,呵呵! 建立索引 db.tableName.e…
一.索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:    > db.test.ensureIndex({"username":1})    可以通过下面的名称查看索引是否已经成功建立:    > db.test.getIndexes()    删除索引的命令是:    > db.test.dropIndex({"username":1})    在MongoDB中,我们…
一.索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:    > db.test.ensureIndex({"username":1})    可以通过下面的名称查看索引是否已经成功建立:    > db.test.getIndexes()    删除索引的命令是:    > db.test.dropIndex({"username":1})    在MongoDB中,我们…
TTL索引: TTL集合支持mongodb对存储的数据进行失效时间设置,经过指定的时间段后.或在指定的时间点过期,集合自动被mongod清除.这一特性有利于对一些只需要保存一定时间的数据信息进行存储,比如机器产生的事件数据.日志.会话信息等. 先创建一个集合TTLCol: 创建TTL索引,60秒过期. 60秒后查询发现数据被删除了. 部分索引: MongoDB部分索引只为那些在一个集合中,满足指定的筛选条件的文档创建索引.由于部分索引是一个集合文档的一个子集,因此部分索引具有较低的存储需求,并降…