标签归档:mongodb

mongodb聚合函数

官方介绍聚合函数: http://docs.mongodb.org/manual/core/aggregation-introduction/ 1、count db.test.count(); 2、distinct db.runCommand(“distinct”: “table”, “key”: “age”); 3、group  最多只能处理上万个key xxx = { ns:”test_table”, key:{id:true}, initial:{num:0}, $reduce:function(doc,prev) { prev.num++ }, condition:{id:{$gt:1}} } 还可以增加 finalize 属性指定一个函数。对每组结果进行处理。。。。 db.test_table.group(xxx); 返回结果集 db.runCommand({group:xxx}); 返回结构: retVal 结果集 count 总记录数 keys 分组后的key数 ok 完成状态 4.mapReduce 不错的例子: … 继续阅读

发表在 Nosql | 标签为 | 留下评论

mongodb复制集+分片

复制集相当于集群配置,分片相当于对分表。因为需要的端口太多,方便观察在2个机器操作。也可以在一个机器的不同位置放多份mongodb的文件夹。 复制是2个机器之间的(也可以同机器不同端口),分片是同一个机器上的数据表分片。那复制就是要配置好各机器上对应的分片的复制,保证数据同步。 一、启动mongod进程 win ip:192.168.2.106 d:\MongoDB\bin\mongod.exe –shardsvr –replSet shard1 –port 27016 –dbpath “d:\MongoDB\data\shardReplSet\shard1_win” d:\MongoDB\bin\mongod.exe –shardsvr –replSet shard2 –port 27018 –dbpath “d:\MongoDB\data\shardReplSet\shard2_win” mac ip:192.168.2.107 /work/mongo/bin/mongod –shardsvr –replSet shard1 –port 27016 –dbpath /work/mongo/data/shardReplSet/shard1_mac /work/mongo/bin/mongod –shardsvr –replSet shard2 –port 27018 –dbpath /work/mongo/data/shardReplSet/shard2_mac 复制集的配置还没做,2台机器分别的2个窗口都会输出 … 继续阅读

发表在 Nosql | 标签为 | 留下评论

mongodb分片

此例子讲某个文档的分片存在同机器同磁盘的不同的目录下。 一、先建立sharding 再写数据 看分片效果 Shard Server 1:20000 Shard Server 2:20001 mongod.exe –shardsvr –port 20000 –dbpath d:\mongodb\data\shard\s0 –directoryperdb mongod.exe –shardsvr –port 20001 –dbpath d:\mongodb\data\shard\s1 –directoryperdb Config Server :30000 mongod.exe –configsvr –port 30000 –dbpath d:\mongodb\data\shard\config –directoryperdb 保证健壮性可开启多个 mongod.exe –configsvr –port 30001 –dbpath … 继续阅读

发表在 Nosql | 标签为 | 留下评论

mongodb主从配置和集群配置

一、主从配置: mongod.exe 参数 –rest 开启网页查询接口。可以让网页如 localhost:28017 查看某些信息。 windows 192.168.2.106 执行: mongod.exe –master –dbpath “d:\MongoDB\data\db”   mac os 192.168.2.107 执行:(掉坑里了填了2.107纠结了半天,失败会一直过2秒就重连一次。不设置logpath参直接输出信息方便调试) /work/mongo/bin/mongod –slave –source 192.168.2.106:27017 –dbpath /work/mongo/data/db   相关配置信息会保存到 local数据库的 source 集合下 相关命令 db.isMaster() db.$cmd.findOne({ismaster:1}); db.printReplicationInfo() db.printSlaveReplicationInfo()   在windows写入数据 在mac验证就ok   二、复制集 … 继续阅读

发表在 Nosql | 标签为 , | 留下评论

mongodb访问验证、数据导入导出、备份、恢复

限制访问 mongod –bind_ip 192.168.1.103 只允许此ip连接 mongod –bind_ip 192.168.1.103 –port 28018 只允许客户端用此ip此端口号连接 启动验证 mongod –auth 1、建立系统 root 用户 db.addUser(“root”,”111″) 2、建立指定权限用户 第三个参数只读 db.addUser(“user_reader”, “user_pwd”, true) db.system.users.find()可查看存在的用户 连接时 mongo -u root -p 111 导出数据库 ./mongoexport -d mydb -c table –csv -f uid,username,age -o  … 继续阅读

发表在 Nosql | 标签为 | 留下评论

mongodb游标和存储过程

mongodb 在php手册中有相关内容: http://www.php.net/manual/zh/book.mongo.php 核心类 MongoClient — MongoClient 类 (老的api 就是 mongo 类) MongoDB — MongoDB 类 (数据库对象) MongoCollection — The MongoCollection class (表(文档)对象) MongoCursor — The MongoCursor class (find 后的结果对象)   一、游标curso: for( var c = db.t3.find(); c.hasNext(); ) { … 继续阅读

发表在 Nosql | 标签为 | 留下评论

mongodb基本查询

db.foo.find(xxx)  xxx 为 {‘x’:’y’} 形式。本文主要整理此形式。 5.1 条件操作符 <, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的 db.collection.find({ “field” : { $gt: value } } ); // 大于: field > value db.collection.find({ “field” : { $lt: value } } ); // 小于: field < value … 继续阅读

发表在 Nosql | 标签为 | 留下评论

mongodb安装

抄袭自 mongodb权威指南。 一、 Windows 平台的安装 步骤一: 下载 MongoDB url 下载地址: http://downloads.mongodb.org/win32/mongodb-win32-i386-1.8.1.zip 步骤二: 设置 MongoDB 程序存放目录 将其解压到 c:\,再重命名为 mongo,路径为 c:\mongo 步骤三: 设置数据文件存放目录 在 c:盘建一个 db 文件夹,路径 c:\db 步骤四: 启动 MongoDB 服务 进入 cmd 提示符控制台,c:\mongo\bin\mongod.exe –dbpath=c:\db C:\mongo\bin>C:\mongo\bin\mongod –dbpath=c:\db Sun Apr 10 22:34:09 … 继续阅读

发表在 Nosql | 标签为 | 留下评论