摘要: 过滤 html 保留图片(?i)<(?!img\b)[^>]*> 阅读全文
posted @ 2012-03-21 11:24 K!ngZ 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 在MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是MongoDB Database Profiler。所以MongoDB 不仅有,而且还有一些比MySQL的Slow Query Log更详细的信息。开启 Profiling 功能有两种方式可以控制 Profiling 的开关和级别,第一种是直接在启动参数里直接进行设置。启动MongoDB时加上–profile=级别 即可。也可以在客户端调用 db.setProfilingLevel(级别) 命令来实时配置,Profiler 信息保存在system.profile 中。我们可以通 阅读全文
posted @ 2011-09-15 21:58 K!ngZ 阅读(2079) 评论(0) 推荐(0) 编辑
摘要: MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes中,且默认总是为_id创建索引,它的索引使用基本和 MySQL 等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存储都有相同或相似的索引实现及使用接口并不足为奇。基础索引在字段age上创建索引,1(升序);-1(降序)db.t3.ensureIndex({age:1})db.t3.getIndexes();_id是创建表的时候自动创建的索引,此索引是不能够删除的。当系统已有大量数据时,创建索引就是个非常耗时的活,我们可以在后台执行,只需指定“backgroud: 阅读全文
posted @ 2011-09-15 21:52 K!ngZ 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 官方手册中启动 MongoDB 服务时没有任何参数,一旦客户端连接后可以对数据库任意操作,而且可以远程访问数据库,所以推荐开发阶段可以不设置任何参数,但对于生产环境还是要仔细考虑一下安全方面的因素,而提高 MongoDB 数据库安全有几个方面: 绑定IP内网地址访问MongoDB服务 设置监听端口 使用用户名和口令登录绑定IP 内网地址访问MongoDB服务MongoDB 可以限制只允许某一特定 IP 来访问,只要在启动时加一个参数 bind_ip 即可,如下:服务端限制只有192.168.1.103这个IP可以访问MongoDB 服务[root@localhost bin]# ./mo 阅读全文
posted @ 2011-09-15 09:23 K!ngZ 阅读(2707) 评论(1) 推荐(0) 编辑
摘要: 可以用mongodump来做MongoDB 的库或表级别的备份,下面举例说明: 备份my_mongodb数据库[root@localhost bin]# ./mongodump -d my_mongodb connected to: 127.0.0.1 DATABASE: my_mongodb to dump/my_mongodb my_mongodb.system.indexes to dump/my_mongodb/system.indexes.bson 1 objects my_mongodb.user to dump/my_mongodb/user.bson 2 objects... 阅读全文
posted @ 2011-09-14 22:17 K!ngZ 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 假设库里有一张user表,里面有2条记录,我们要将它导出常用导出方法 [root@localhost bin]# ./mongoexport -d my_mongodb -c user -o user.dat connected to: 127.0.0.1 exported 2 records [root@localhost bin]# cat user.dat { "_id" : { "$oid" : "4f81a4a1779282ca68fd8a5a" }, "uid" : 2, "username& 阅读全文
posted @ 2011-09-14 22:14 K!ngZ 阅读(1789) 评论(0) 推荐(0) 编辑
摘要: 简单介绍 capped collections是性能出色的有着固定大小的集合(定容集合),以LRU(Least Recently Used最近最少使用)规则和插入顺序进行 age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创 建时要预先指定大小。如果空间用完,新添加的对象将会取代集合中最旧的对象。功能特点 可以插入及更新,但更新不能超出 collection 的大小,否则更新失败。不允许删除,但是可 以调用 drop() 删除集合中的所有行,但是 drop 后需要显式地重建集合。在 32 位机上,一 个capped collection的最大值约为482.5M,64 位上只受系. 阅读全文
posted @ 2011-09-14 09:27 K!ngZ 阅读(3326) 评论(0) 推荐(0) 编辑
摘要: 面向文档的 NoSQL 数据库主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能。条件操作符<, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的db.collection.find({ "field" : { $gt: value } } ); // 大于: field > valuedb.collection.find({ "field" : { $lt: value } } ); // 小于: field < valuedb.collection.find({ &q 阅读全文
posted @ 2011-09-13 23:00 K!ngZ 阅读(1803) 评论(1) 推荐(0) 编辑
摘要: 查询记录 普通查询 > var cursor = db.things.find(); > while (cursor.hasNext()) printjson(cursor.next()); 上面的例子显示了游标风格的迭代输出. hasNext() 函数告诉我们是否还有数据, 如果有则可以调用 next() 函数. 当我们使用的是 JavaScript shell, 可以用到JS的特性, forEach 就可以输出游标了. 下面的例 子就是使用 forEach() 来循环输出: forEach() 必须定义一个函数供每个游标元素调用. > db.things.find().f 阅读全文
posted @ 2011-09-13 22:40 K!ngZ 阅读(1058) 评论(0) 推荐(0) 编辑
摘要: MongoDB是一个开源的、无模式的文档型数据库,是当前流行的NOSQL类型数据库的一种(非关系型数据库)MongoDB的数据结构非常松散,是类似json的bjson格式,同时支持对数据建立索引。是一个面向集合的,模式自由的文档型数据库。1.面向集合 意思是数据被分组存储在数据集合中,被称为一个集合2.模式自由 意味着对于存储在MongoDB 数据库中的文件,我们不需要知道它的任何结构定义。提了这 么多次"无模式"或"模式自由",它到是个什么概念呢?例如,下面两个记录可以存在于同一 个集合里面: {"welcome" : " 阅读全文
posted @ 2011-09-13 09:52 K!ngZ 阅读(2112) 评论(11) 推荐(0) 编辑