MongoDB

MongoDB 语法使用小结

他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 它的特点是高性能、易部署、易使用,存储数据非常方便。 1. MongoDB的获取和安装 (1)获取地址 http://www.mongodb.org/downloads 根据自己需要选择相应的版本,linux下可以使用wget 命令。 (2)解压 [详细]

MongoDB 快速入门

对 MongoDb 文档数据库感兴趣,要安装认识下。 到官方下载 win 版 http://www.mongodb.org/display/DOCS/Downloads 目前最新稳定版是 1.2.4。解压到 f:/sofr/mongodb-win32-i386-1.2.4。 启动 mongod复制代码 代码如下: F:\soft\mongodb-win32-i386-1.2.4>bin\mongod.exe --dbpath=f:/mongodb Mon Mar 08 11:13:17 Mon [详细]

MongoDB数据库插入、更新和删除操作详解

一、Insert操作 Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库中,不进行额外的验证,也不会执行代码,所以不存在注入式攻击的可能。 1、单条插入2、批量插入 MongoDB对批量插入的支持是通过传递多个文档组成的数组到数据库来实现的。由于它插入数据是通过发送TCP请求的,这样只需发 [详细]

MongoDB为用户设置访问权限

MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),今天特地花了一点时间研究了一下,研究成果如下: 注:研究成果基于Windows平台 MongoDB在本机安装部署好后 1. 输入命令:show dbs,你会发现它内置有两个数据库,一个名为admin,一个名为local。local好像没啥用,如果哪位在使用过程中发现了这个local表的用途,希望能够留言提醒,那我们就专心来说说admin表 2. 输入命令:use [详细]

MongoDB下根据数组大小进行查询的方法

注意:作者使用的mongodb版本为2.4.7。 首先插入测试数据复制代码 代码如下:db.data.insert({name:'a', num:[12,123,22,34,1]});db.data.insert({name:'b', num:[42,22]});db.data.insert({name:'c', num:[49]}); 键num对应的值是数组。 查询num的数组值具有指定大小的document 最好的方法是使用$size,例如指定大小为2,可以:复制代码 代码如下:db.da [详细]

MongoDB中MapReduce编程模型使用实例

注:作者使用的MongoDB为2.4.7版本。单词计数示例: 插入用于单词计数的数据:复制代码 代码如下:db.data.insert({sentence:'Consider the following map-reduce operations on a collection orders that contains documents of the following prototype'})db.data.insert({sentence:'I get the following err [详细]

MongoDB Remove函数的3个常见用法

在MongoDB中,db.collection.remove()方法用来从文档中删除文档。可以从一个集合中删除所有文档,删除匹配一个条件的所有文档,或者限制操作只删除一条文档。 删除所有文档: 删除集合中的所有文档,需要传递一个空的query文档{}给remove()方法。remove()方法不会删除索引。下面是从inventory集合中删除所有文档的例子: 复制代码 代码如下:db.inventory.remove({}) 删除集合中所有的文档,drop()方法可能更有效,drop()方法会 [详细]

mongoDB分页的两种方法(图例)

mongoDB分页的两种方法mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的下面这个是我的测试数据db.test.find().sort({"age":1}); 第一种方法查询第一页的数据:db.test.find().sort({"age":1}).limit(2); 查询第二页的数据:db.test.find().sort({"age":1}).skip(2).limit(2);查询其他页数以此类推。。。第二种方法查询第一页的数据:db. [详细]

MongoDB修改数据的2种方法

在MongoDB中,db.collection.ipdate()和db.collection.save()方法都可以修改集合中已存在的文档。db.collection.update()方法对修改提供额外的控制。例如,db.collectoin.update()修改已存在数据或一组匹配查询条件的文档。而db.collection.save()方法根据相同的_id替换一个已存在文档。 使用update()方法修改多个文档: 默认,update()方法更新一条满足条件的文档。调用方法时将multi选 [详细]

1亿条记录的MongoDB数据库随机查询性能测试

mongdb性能压力测试,随机查询,数据量1亿条记录 操作系统centos6.4x64位 从测试结果看,当mongodb将数据全部载入到内存后,查询速度根据文档的大小,性能瓶颈通常会是在网络流量和CPU的处理性能(该次测试中当数据全部在内存后,纯粹的查询速度可以稳定在10W/S左右,系统load可以维持在1以下,由于此时CPU已经被使用到极限了,当并发再大时load值会直线飙升,性能急剧下降)。 压力生成服务器与Mongodb服务器基本配置 cpu型号:Intel(R) Xeon(R) [详细]

Mongodb 忘记密码的解决办法

下午刚设置的密码,当时忘记保存,晚上去吃了个晚饭回来就忘记了。研究了一会发现也不难,不过网上没有直接搜到就记录一下,按照以下步骤操作即可 操作步骤: 复制代码 代码如下: vim /etc/mongodb.conf # 修改 mongodb 配置,将 auth = true 注释掉,或者改成 false service mongodb restart # 重启 mongodb 服务 mongo # 运行客户端 [详细]

MySQL和MongoDB设计实例对比分析

下面通过一个设计实例对比一下二者:假设我们正在维护一个手机产品库,里面除了包含手机的名称,品牌等基本信息,还包含了待机时间,外观设计等参数信息,应该如何存取数据呢? 如果使用MySQL的话,应该如何存取数据呢? 如果使用MySQL话,手机的基本信息单独是一个表,另外由于不同手机的参数信息差异很大,所以还需要一个参数表来单独保存。 复制代码 代码如下: CREATE TABLE IF NOT EXISTS `mobiles` ( `id` int(10) unsigned NOT NULL AU [详细]

MongoDB插入数据的3种方法

insert()方法: 下面是在inventory集合中插入一个三个字段的文档: 复制代码 代码如下:db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } ) 在实示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一。update()方法: 调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件的文档时。下面的 [详细]

mongodb在windows下的安装步骤分享

nosql很火,mongodb做为一款优秀的分布式文件存储的数据库,也得到了不小的关注,http://weibo.com/k/mongodb 新浪微博中每天现在约有20多条信息。官网:http://www.mongodb.org/下载:http://www.mongodb.org/downloadsPHP扩展:http://cn.php.net/mongo我选择了windows的安装包,下载了Windows 32-bit的1.8.2版本,以下是安装记录:解压到了D:\www\mongodbcd [详细]

MongoDB 学习笔记

1、配置:mongod --dbpath=D:\MongoDB\data mongo 2、基本的增删查改 find() update()-- 整体更新,局部更新。 修改器: $inc db.person.update({"age":23},{$inc:{"salary":1000}}) 第一个参数为条件。第二个参数为修改的值,但值必须为整数。($inc allowed for numbers only) $set 修改器: db.person.update({"name":"gll"},{$s [详细]