MongoDB整理笔记のGUI操作】的更多相关文章

值得幸运的是,其实MongoDB也有像类似于PL/SQL一样的界面操作工具操作MongoDB. 下面就来介绍几款不同的界面工具,大家各取所需! MongoVUE 主页:http://www.mongovue.com/ 一个桌面程序,提供了对MongoDB 数据库的基本操作,如查看.查询.更新.删除等,简单易用,但是功能还比较弱,以后发展应该不错.  RockMongo 主页:http://code.google.com/p/rock-php/ RockMongo 是一个PHP5 写的MongoD…
MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mongodb数据库,使用python编写而成: 数据库相关操作 连接及创建数据库 import pymongo connect = pymongo.MongoClient("mongodb://localhost:27017/") mydb = connect ["test"…
MapReduce MongoDB中的MapReduce相当于关系数据库中的group by.使用MapReduce要实现两个函数Map和Reduce函数.Map函数调用emit(key,value),遍历 Collection中所有的记录,将key与value传递给Reduce函数进行处理. Mapreduce使用惯用的javascript操作来做map和reduce操作,因此Mapreduce的灵活性和复杂性都会比aggregate 更高一些,并且相对aggregate 而言更消耗性能: 语…
MongDB的MapReduce相当于MySQL中的“group by”,所以在MongoDB上使用Map/Reduce进行并行“统计”很容易. 使用MapReduce要实现两个函数Map函数和Reduce函数,Map函数调用emit(key,value),遍历collection中的所有记录,将key和value传递给Reduce函数进行处理.Map函数和Reduce函数可以使用JS来实现,可以通过db.runCommand或mapReduce命令来执行一个MapReduce操作. 示例she…
1.  批量插入:     以数组的方式一次插入多个文档可以在单次TCP请求中完成,避免了多次请求中的额外开销.就数据传输量而言,批量插入的数据中仅包含一份消息头,而多次单条插入则会在每次插入数据时封装消息头数据.对于数据导入而言,我们可以使用mongoimport完成. 2.  数据库清除:    > db.users.remove()     以上命令将会清除users集合中的所有数据,但是不会删除集合本身以及关联的索引.数据删除操作是不可恢复的,一旦删除就物理的删除了.对于全集合清除这种c…
MongoDB聚合管道 使用聚合管道可以对集合中的文档进行变换和组合. 管道是由一个个功能节点组成的,这些节点用管道操作符来进行表示.聚合管道以一个集合中的所有文档作为开始,然后这些文档从一个操作节点流向下一个节点 ,每个操作节点对文档做相应的操作.这些操作可能会创建新的文档或者过滤掉一些不符合条件的文档,在管道中可以对文档进行重复操作. 管道表达式只可以操作当前管道中的文档,不能访问其他的文档:表达式操作可以在内存中完成对文档的转换. 语法格式:   db.runCommand({ aggre…
最近项目在做网站用户数据新访客统计,数据存储在MongoDB中,统计的数据其实也并不是很大,1000W上下,但是公司只配给我4G内存的电脑,让我程序跑起来气喘吁吁...很是疲惫不堪. 最常见的问题莫过于查询MongoDB内存溢出,没办法只能分页查询.这种思想大家可能都会想到,但是如何分页,确实多有门道! 网上用的最多的,也是最常见的分页采用的是skip+limit这种组合方式,这种方式对付小数据倒也可以,但是对付上几百上千万的大数据,却只能望而兴叹... 经过网上各种查找资料,寻师问道的,发现了…
以下是官网原文地址: http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/ 概要 MongoDB 的_id字段作为一个主键存在于所有文档的最顶层,_id必须是唯一的,而且总是具有唯一约束的索引.除了唯一约束,你可以在集合中的_id字段上使用任何值, 以下这个指南描述了在_id上创建一个自增序列的两种方式:    Use Counter Collection     Optimistic Loop 注意…
这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding 的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB 集群.MongoDB 的数据分块称为 chunk.每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块.要构建一个 MongoDB Sharding Cluster,需要三种角色:    Shard Server    即存储实际数据的分片,每个Shard 可以是一个mongod…
MongoDB Replica Sets 不仅提供高可用性的解决方案,它也同时提供负载均衡的解决方案,增减Replica Sets 节点在实际应用中非常普遍,例如当应用的读压力暴增时,3 台节点的环境已不能满足需求,那么就需要增加一些节点将压力平均分配一下.   两种方式:一是通过oplog增加节点,二是通过数据库快照和oplog来增加节点 通过oplog增加节点   1.配置并启动新节点,启用28013这个端口给新的节点 root@localhost ~]# mkdir -p /data/da…
一.读写分离 从库能进行查询,这样可以分担主库的大量的查询请求.   1.先向主库中插入一条测试数据 [root@localhost bin]# ./mongo --port 28010 MongoDB shell version: 1.8.1 connecting to: 127.0.0.1:28010/test rs1:PRIMARY> db.c1.insert({age:30}) db.c2rs1:PRIMARY> db.c1.find() { "_id" : Obj…
主从操作日志oplog MongoDB的Replica Set架构是通过一个日志来存储写操作的,这个日志就叫做"oplog".oplog.rs是一个固定长度的capped collection,它存在于"local"数据库中,用于记录Replica Sets操作日志.在默认情况下,对于64位的MongoDB,oplog是比较大的,可以达到5%的磁盘空间.oplog的大小是可以通过mongod的参数“--oplogSize”来设置. rs1:PRIMARY> u…
MongoDB支持在多个机器中通过异步复制达到故障转移和实现冗余.多机器中同一时刻只有一台机器是用于写操作,正因为如此,MongoDB提供了数据一致性的保障.而担当primary角色的机器,可以把读的操作分发给slave. MongoDB高可用分两种:   Master-Slave 主从复制 只需要在某一个服务启动时加上–master 参数,而另一个服务加上–slave 与–source 参数,即可实现同步.MongoDB 的最新版本已不再推荐此方案. Replica Sets 复制集 Mono…
方法一:Mongostat 此工具可以快速查看某组运行中的mongodb实例的统计信息,用法如下: [root@localhost bin]# ./mongostat insert query update delete ...... locked % idx miss % qr|qw ar|aw conn time *0 *0 *0 *0 ...... 0 0 0|0 1|0 4 01:19:15 *0 *0 *0 *0 ...... 0 0 0|0 1|0 4 01:19:16 *0 *0…
MongoDB shell 不仅仅是一个交互式的shell,它也支持执行指定javascript 文件,也支持执行指定的命令片断.有了这个特性,就可以将MongoDB 与linux shell 完美结合,完成大部分的日常管理和维护工作. 执行指定命令 例如,需要查询test 库的t1 表中的记录数有多少,常用方法如下: [root@localhost bin]# ./mongo test MongoDB shell version: 1.8.1 connecting to: test > db.…
MongoDB安全访问将从以下三个方面得到控制!   1.绑定IP内网地址访问MongoDB服务     2.设置监听端口     3.使用用户名和密码 绑定IP内网地址访问MongoDB服务 MongoDB可以限制只允许某一特定IP来访问,只要在启动时加一个参数bind_ip即可,如下: 服务端限制只有192.168.1.103这个IP可以访问MongoDB服务 [root@localhost bin]# ./mongod --bind_ip 192.168.1.103 客户端访问时需要明确指…
GridFS 是一种将大型文件存储在MongoDB 数据库中的文件规范.所有官方支持的驱动均实现了GridFS 规范. GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. 官网学习: http://www.mongodb.org/display/DOCS/GridFS http://www.mongodb.org/display/DOCS/GridFS+Specification 1.为什么要用GridFS 由于MongoDB 中BSON 对象大小是有限制的,所以GridFS…
1.简单介绍 capped collections 是性能出色的有着固定大小的集合,以LRU(Least Recently Used 最近最少使用)规则和插入顺序进行age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创建时要预先指定大小.如果空间用完,新添加的对象将会取代集合中最旧的对象. 2.功能特点 可以插入及更新,但更新不能超出collection 的大小,否则更新失败.不允许删除,但是可以调用drop() 删除集合中的所有行,但是drop 后需要显式地重建集合.在32 位机…
1.官网下载 地址:http://www.mongodb.org/downloads mongodb-linux-x86_64-2.4.9.tgz (目前为止,64位最新版本) 2.解压 切换到下载目录下,命令行输入: tar zxf mongodb-linux-x86_64-2.4.9.tgz 3.创建数据库文件夹和日志文件 命令行输入: mkdir /usr/local/mongodb/data touch /usr/local/mongodb/logs 上面两行命令代表,所有与mongod…
本人学习mongodb时间不长,但是鉴于工作的需要以及未来发展的趋势,本人想更深层的认识mongodb底层的原理以及更灵活的应用mongodb,边学边工作实践.  mongodb属于nosql中算是最热门的数据库,所以我们不妨对nosql有一个最基本的了解:  NoSQL,全称是”Not Only Sql”,指的是非关系型的数据库.NoSQL 被我们用得最多的当数key-value 存储,当然还有其他的文档型的.列存储.图型数据库.xml 数据库等.与关系型数据库相比,关系型数据库给你强加了太多…
单独的聚合命令(group,distinct,count) 单独聚合命令 比aggregate性能低,比Map-reduce灵活度低:但是可以节省几行javascript代码,后面那句话我自己加的,哈哈哈- count()方法可以查询统计符合条件的集合的总数 db.COLLECTION_NAME.count(<query>) // 此方法等价于 db.COLLECTION_NAME.find(<query>).count() 在分布式集合中,会出现计算错误的情况,这个时候推荐使用a…
使用use数据库名称来创建数据库,如果该数据库已经存在则返回这个数据库 语句格式:use DATABASE_NAME >use mynewdb switched to db mynewdb 使用 db名称可以检查当前使用的数据库 > db mynewdb 使用命令 show dbs 来检查数据库列表. > show dbs GnyMongo 0.078GB GnyWorkFlowDemo 0.078GB LogInfo 0.078GB ...... 刚创建的数据库mynewdb 没有出现…
MongoDB Auto-Sharding 解决了海量存储和动态扩容的问题,但离实际生产环境所需的高可靠.高可用还有些距离,所以有了"Replica Sets + Sharding"的解决方案. shard: 使用Replica Sets,确保每个数据节点都具有备份,自动容错转移,自动回复能力. config: 使用3个配置服务器,确保元数据的完整性. route: 使用3个路由进程,实现负载均衡,提高客户端接入性能. 配置Replica Sets + Sharding 架构图: 配置…
有些时候有于硬件资源有限,所以我们不得不进行一些回收工作,下面我们就要将刚刚启用的Shard Server 回收,系统首先会将在这个即将被移除的Shard Server 上的数据先平均分配到其它的Shard Server 上,然后最终在将这个Shard Server 踢下线, 我们需要不停的调用db.runCommand({"removeshard" :"localhost:20002"});来观察这个移除操作进行到哪里了: > use admin switc…
1.启动一个新Shard Server 进程 [root@localhost ~]# mkdir /data/shard/s2 [root@localhost ~]# /Apps/mongo/bin/mongod --shardsvr --port 20002 --dbpath /data/shard/s2 --fork --logpath /data/shard/log/s2.log --directoryperdb all output going to: /data/shard/log/s…
MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存储都有相同或相似的索引实现及使用接口并不足为奇. 基础索引 在字段age 上创建索引,1(升序);-1(降序) > db.t3.ensureIndex({age:1}) > db.t3.getIndexes(); [ { "name&quo…
查看活动进程 > db.currentOp(); > // 等同于: db.$cmd.sys.inprog.findOne() { inprog: [ { "opid" : 18 , "op" : "query" , "ns" : "mydb.votes" , "query" : "{ score : 1.0 }" , "inLock"…
一.导入 1.导入json数据 我们先将表user删除掉,以便演示效果: > db.user.drop(); true > show collections; system.indexes 然后导入数据 [root@localhost bin]#./mongoimport -d my_mongodb -c user user.dat connected to: 127.0.0.1 imported 2 objects [root@localhost bin]# 可以看到导入数据的时候会隐式创建…
添加 下面我们来建立一个test 的集合并写入一些数据.建立两个对象j 和t , 并保存到集合中去.在例子里 “>” 来表示是 shell 输入提示符    > j = { name : "mongo" };    {"name" : "mongo"}    > t = { x : 3 };    { "x" : 3 }    > db.things.save(j);    > db.things…
MongoDB 是一个可移植的数据库,它在流行的每一个平台上都可以使用,即所谓的跨平台特性. 一个运行着的MongoDB 数据库就可以看成是一个MongoDB Server,该Server 由实例和数据库组成,在一般的情况下一个MongoDB Server 机器上包含一个实例和多个与之对应的数据库,但是在特殊情况下,如硬件投入成本有限或特殊的应用需求,也允许一个Server 机器上可以有多个实例和多个数据库.   MongoDB 中一系列物理文件(数据文件,日志文件等)的集合或与之对应的逻辑结构…