![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mongodb翻译
文章平均质量分 76
xinghebuluo
C,C
展开
-
[mongodb翻译]分片和故障转移
一个配置恰当的mongodb 分片集群不会有单点失效。本章节描述了集群服务器中可能出现的故障,及相应的对策。 1. 某个mongos路由进程故障 每一个mongos会运行每一台应用服务器上面,该应用服务器只能通过这个mongos进程和集群进行通信。mongos进程不是固定不变的;相反,他们在启动时从配置服务器那里获取必要的配置信息。 这意味着任翻译 2011-11-23 13:39:49 · 743 阅读 · 0 评论 -
mongodb指南(十二) - developer zone - 数据类型和约定(一)
MongoDB(BSON)数据类型除了基本的JSON类型:string,integer,boolean,double,null,array和object,mongo还使用了特殊的数据类型。这些类型包括date,object id,binary data,regular expression 和code。每一个驱动都以特定语言的方式实现了这些类型,查看你的驱动的文档来获取详细信息。从shel翻译 2011-12-08 17:11:21 · 2188 阅读 · 0 评论 -
mongodb指南(十八) - developer zone - 索引(二)_id索引、复合索引、稀疏索引、数组索引、唯一索引
_id索引除了定容量集合外的所有集合,都会自动为_id字段创建一个索引。这是一个特殊索引并且不能被删除。该_id索引强制它的关键字都是唯一的(除了分片环境下的一些情景)。_id值是恒定不变的。对内嵌关键字进行索引(“点表示法”)在Mongodb中,你可以对内嵌文档的关键字进行索引。访问子文档的方法被视为点表示法。例如:db.things.ensureIndex({"addres翻译 2011-12-19 16:36:48 · 4637 阅读 · 0 评论 -
mongodb指南(十三) - developer zone - 数据类型和约定(二)之Object ID
Object IDs在mongodb中的文档需要使用唯一的关键字_id来标识他们。_id字段几乎每一个mongodb文档都使用_id字段作为第一个属性(在系统集合和定容量集合(capped collection)中有一些例外)。_id值可以是任何类型,最常见的做法是使用ObjectId类型。每一个文档的_id字段在该集合中必须是唯一的;这是由于集合会自动为_id建立索引而强翻译 2011-12-13 17:05:15 · 1452 阅读 · 0 评论 -
mongodb指南(十七) - developer zone - 索引(一)简介
索引通常可以显著的提高查询性能。仔细考虑你的应用中会用到的查询种类这样你就可以定义相关的索引了。一旦索引定义完成,在mongodb中实际创建它们是很简单的。Mongodb的索引在概念上和MySQL等关系型数据库的索引非常相似。当你在某些情境下需要在MySQL中创建一个索引,这样的情境同样适用于Mongodb。基本概念一个索引就是一个数据结构,它收集集合中文档的指定字段的值。这种数据结构翻译 2011-12-17 16:08:16 · 530 阅读 · 0 评论 -
mongodb指南(十四) - developer zone - 数据类型和约定(三)之数据库引用
由于mongodb是非关系型的(没有连接(join)),文档间的引用(“外键”)通常是在客户端通过向服务器进行额外查询来解决的(linking)。这些连接总是在客户端解决的。直接/手动做这些是非常容易并且也是推荐这样做的。这里还有一个很多驱动都支持的DBRef机制,它在一定程度上抽象了linking的概念。推荐的方法是使用直接/手动link。内嵌对象是对linking的一种备选方案并且翻译 2011-12-15 16:50:14 · 826 阅读 · 0 评论 -
mongodb指南(十六) - developer zone - 何时使用GridFS
何时使用GridFS大量文件。GirdFS在处理大数据量(几千)文件时比很多文件系统表现要好。用户上传的文件。当用户上传文件时你可能会有大量的文件,并且想对他们进行复制然后备份。GridFS是保存他们的理想途径,这样你就可以想管理普通数据那样管理这些文件了。你还可以使用关键字用户,上传时间等到数据仓库中直接查询,不需要通过间接层。经常改变的文件。如果你有一些确定会经常改变的文件-把他们存储翻译 2011-12-16 12:36:32 · 563 阅读 · 0 评论 -
mongodb指南(十五) - developer zone - GridFS简介
GridFS是MongoDB中存储大文件的一种规范。所有官方支持的驱动都实现了GridFS规范。基本原理数据库支持以BSON对象格式存储二进制数据。但是,在mongodb中BSON对象大小是受限制的(老版本中是4MB,v1.7/1.8中是16MB,将来该限制会更高一些)。GridFS规范提供一种机制,可以透明的将一个大文件拆分到多个较小文档中。这允许我们可以高效的存储大对象,尤其是大文件,翻译 2011-12-16 09:47:57 · 564 阅读 · 0 评论 -
mongodb指南(十九) - developer zone - 索引(三)索引的删除、重建、版本
后台创建索引默认情况下,建立索引会阻塞数据库的其他操作。V1.3.2及更高版本提供了后台创建索引的功能。删除索引删除指定集合的所有索引:db.collection.dropIndexes();删除单个索引:db.collection.dropIndex({x: 1, y: -1})不使用辅助函数,直接作为命令来运行:// note: command wa翻译 2011-12-28 16:55:07 · 2428 阅读 · 0 评论 -
mongodb指南(二十) - developer zone - 索引(四)地理信息索引
v1.4+MongoDB支持2维地理信息索引。它被设计用来进行脑海中基于位置的查询,诸如“查找距离我的位置最近的N个场所”。它还可以高效的处理额外的查询条件,比如“查找距离我的位置最近的N个博物馆”。为了可以使用这种索引,你需要在你的对象中设置一个字段,该字段可以是一个子对象或者前两个元素为x,y坐标的数组(或者y,x-只要一致就行;为了确保一致性,推荐在你的客户端代码中使用保持排序的词典翻译 2012-01-31 11:48:51 · 2864 阅读 · 1 评论 -
mongodb指南(二十一) - developer zone - 索引(五)在后台创建索引
默认情况下,ensureIndex()是阻塞型操作,并会暂停数据库上所有正在进行的其他操作,直到创建索引完成。但是,在高于或等于版本1.3.2的mongodb中,提供了可选的后台创建索引的选项。要在后台创建索引,增加background:true选项。例如:> db.things.ensureIndex({x:1}, {background:true});> db.things.en翻译 2012-01-31 11:49:44 · 3696 阅读 · 0 评论 -
mongodb指南(十) - developer zone - 集合
mongodb集合实质上就是一组文档的名称。你可以认为它们大体上等同于关系型数据库中的表。概述一个mongodb集合是一个BSON格式文档的集合。这些文档通常有着相同的结构,但是这并不是必须的,因为mongodb是模式自由(或者更准确的说,“动态模式”)的数据库。你可以在同一个集合内存储多种多样的文档,而且你不需要预先定义集合的“列”或者字段。 一个集合在第一个文档插入时创建。翻译 2011-12-07 18:23:49 · 1989 阅读 · 0 评论 -
mongodb指南(十一) - developer zone - 文档
mongodb可以被认为是一种面向文档的数据库。所谓文档,我们说的是结构化文档,不是任意文本文档。可以把这些文档想象成仅仅包含数据的对象,不是代码,方法或者类的层次。另外,在mongodb数据模型中的文档之间的关联比由面向对象语言程序中的对象之间的还要少。在mongodb中,文档是概念上的JSON。更具体的说,这些文档以名为BSON(代表着二进制的JSON)的格式来呈现。文档都被存储在集合翻译 2011-12-08 09:36:54 · 876 阅读 · 0 评论 -
mongodb指南(九) - developer zone - 数据库之命令(四)
验证命令使用这个命令检查一个集合是否合法(没有错误)并且获取很多统计信息。该命令扫描整个集合和它的索引,在大的数据集上会很慢。从mongo shell操作:> db.foo.validate(){"ns" : "test.foo" , "result" : "validatedetails: 08D03C9C ofs:963c9cfirstExtent:0:156800 n翻译 2011-12-07 09:38:24 · 748 阅读 · 0 评论 -
mongodb指南(二) - developer zone - 简介
简介mongodb是一个面向集合,模式灵活的文档型数据库。所谓面向集合,是说数据被分组存储在被称作集合的数据集中。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式。所谓模式自由(schema-free),是说对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构翻译 2011-11-25 16:55:44 · 556 阅读 · 0 评论 -
mongodb指南(三) - developer zone - 快速启动MongoDB
本章节在官方文档的位置为:Home-Quickstart在OS X快速启动安装mongodb最简单的安装mongodb的方法就是使用包管理器或者预编译好的二进制文件:包管理器如果你使用Homebrew包管理器,请运行:$ brew update$ brew install mongodb如果你使用MacPorts,你可以这样安装:$ sudo port i翻译 2011-11-26 14:47:03 · 4109 阅读 · 0 评论 -
[mongodb翻译]分片的限制(sharding limit)
安全2.0版本程序将会支持sharding状态下面的认证模式。与没有分片配置的区别2.0版本以前,分片必须运行在可信任的安全模式,没有明确的安全策略。在当前版本中,shard key一旦选定后就不能再更改了。所有的(不是操作多个)更新、更新插入和插入操作必须包含完整的shard key。这会对使用映射库有些影响,因为此时你无法控制更新操作。$where$where在翻译 2011-11-23 09:22:53 · 1693 阅读 · 0 评论 -
[mongodb翻译]选择合适的shard key
为一个集合(collection)选择合适的shard key非常重要。如果这个集合非常庞大,那么将来再来修改shard key将会很困难。如有任何疑问请到论坛或者IRC寻求帮助。示例文档{server : "ny153.example.com" ,application : "apache" ,time : "2011-01-02T21:21:56.249Z" ,le翻译 2011-11-22 18:49:22 · 1720 阅读 · 0 评论 -
mongodb指南(一) - 翻译前言
云计算最近越来越热,各类云计算中心也是遍地开花,而mongodb是非关系数据库(nosql)中比较热门的技术之一,我也有幸在做这方面的工作,平时学习以mongodb官方文档为主(http://dl.mongodb.org/dl/docs/,该文档每天都会生成一个新版本),它里面包含了开发指南和管理指南两大部分的内容。碰到问题都是在mongodb官方论坛:http://groups.google.c翻译 2011-11-25 15:39:03 · 575 阅读 · 0 评论 -
mongodb指南(四) - developer zone - 教程
运行mongodb请参与快速启动指南来启动mongodb。连接到数据库首先使用数据库shell程序来操作数据库。(我们同样可以使用任何语言的驱动来做类似的操作。shell程序可以很方便的进行交互和管理。)这样启动mongodb JavaScript shell:# 'mongo' is shell binary. exact location might vary翻译 2011-11-28 10:59:34 · 945 阅读 · 0 评论 -
mongodb指南(七) - developer zone - 数据库之命令(二)
compact命令v1.9+压缩命令会对一个集合进行压缩和除碎片。索引也会被重建和压缩。这会为数据库中其他集合释放空间。在概念上它和repairDatabase类似,但是它仅仅作用于一个集合而不是整个数据库。运行(mongo shell上面的示例):> db.runCommand( { compact : 'mycollectionname' } )OR> db.mycol翻译 2011-12-01 14:40:04 · 2290 阅读 · 0 评论 -
mongodb指南(五) - developer zone - 连接
Mongodb是一个数据库服务器:它运行在前台或者后台,等待来自用户的连接。当你启动mongodb,你会看到类似于下面的内容:~/$ ./mongod## some logging output#Tue Mar 9 11:15:43 waiting for connections on port 27017Tue Mar 9 11:15:43 web admin interface翻译 2011-11-29 13:08:43 · 740 阅读 · 0 评论 -
mongodb指南(八) - developer zone - 数据库之命令(三)
getLastError命令当向数据库写入时,mongodb默认不等待响应消息。使用getLastError命令来确保操作已经正确执行。在很多驱动中当你使用"安全"模式(一些驱动中称为“set write concern”)进行保存和更新时,getLastError命令会自动调用。但是当这个特别的被称为getlasterror的命令被调用时,实际上又发生什么了呢。这里,我们介绍它怎么工作。翻译 2011-12-05 10:08:07 · 781 阅读 · 0 评论 -
mongodb指南(六) - developer zone - 数据库之命令(一)
每一个mongodb服务器可以支持多个数据库。出于安全和方便管理的考虑,每一个数据库都是独立的,并且每一个数据库的数据也是分开存储的。一个数据库由一个或多个集合组成,文档(对象)存储在集合中,一个可选的安全证书可以控制访问。 命令简介mongo数据库有一个数据库命令的概念。数据库命令可以告诉数据库执行一些特殊的操作,或者请求当前操作的状态信息。一条命令是作为针对名为$cmd翻译 2011-11-30 15:46:47 · 1619 阅读 · 0 评论 -
mongodb指南(二十二) - developer zone - 索引(六)多键
Mongodb提供了一个有趣的“多键”特性,可以自动对对象的数组值进行索引。标签就是个好例子。假定你有一篇包含了许多分类标签的文章:$ dbshell> db.articles.save( { name: "Warm Weather", author: "Steve",tags: ['weather', 'hot', 'record', 'april'] } )> db.articl翻译 2012-01-31 11:50:20 · 965 阅读 · 0 评论