随笔分类 -  MongoDB

摘要:1.启动和停止mongoDB从命令行启动mongoDB服务器使用可执行文件mongod,mongod有很多的启动选项,运行mongod --help可以查看这些选项,下边是常用的重要选项:--dbpath 指定数据目录,缺省为/data/db/。每个mongod进程都需要自己的数据目录,如果你要运行3个mongod的实例,那么就需要3个独自的目录。mongod启动的时候会在数据目录创建一个mongod.lock文件,阻止其他进程使用此目录。--port 指定服务器侦听的端口号。mongod缺省使用27017端口,如果你要运行多个实例,需要给每个进程指定不同的端口。--fork 创建服务器子进程 阅读全文
posted @ 2011-11-02 14:05 javawebsoa 阅读(284) 评论(0) 推荐(0)
摘要:除了基本的查询功能外,mongoDB还提供了聚合工具,从简单的计数到使用MapReduce进行复杂数据的分析等。1.count最简单的聚合工具就是count了,它返回document的数量>db.foo.count()0>db.foo.insert({"x":1})>db.foo.count()1也可以传递一个查询条件,计算符合条件的结果个数>db.foo.insert({"x":2})>db.foo.count()2>db.foo.count({"x":1})12.distinctdistinct 阅读全文
posted @ 2011-11-02 14:04 javawebsoa 阅读(181) 评论(0) 推荐(0)
摘要:1.数据库命令mongoDB提供了范围广泛的数据库命令,覆盖了除create,read,update,delete之外的所有功能。比如我们前边用到的getLastError命令,用来查看update时受影响的数量。命令是如何工作的这里有个你比较熟悉的例子:drop,如果从shell里删除一个collection,我们运行db.test.drop().实际上,在内部执行的是drop命令,跟下边用runCommand执行的操作是一样的> db.runCommand({"drop" : "test"}); { "nIndexesWas" 阅读全文
posted @ 2011-11-02 14:04 javawebsoa 阅读(193) 评论(0) 推荐(0)
摘要:Note:mongoDB的索引的工作方式和关系数据库中的索引几乎是一样的。1.索引简介假设我们要按单个key查询,如下:>db.people.find({"username":"mark"})对单个的key进行查询的时候,我们可以在这个key上建立索引来提高查询速度。使用ensureIndex方法建立索引如下:>db.people.ensureIndex({"username":1})一个索引只需创建一次,重复创建相同的索引没有任何效果。一个key上建立的索引会使对这个key的查询速度提高,除此之外就没有效果了,即使是查询 阅读全文
posted @ 2011-11-02 14:03 javawebsoa 阅读(220) 评论(0) 推荐(0)
摘要:1.find方法介绍在不传入参数的情况下,find方法缺省使用{}做参数,它匹配所有的document。我们可以传入一个查询document给find方法来限制输出,如:查找年龄为27的用户>db.users.find({"age":27})一个查询document里可以包括多个条件,如:查询年龄为27并且名字叫joe的用户>db.users.find({"username":"joe","age":27})条件之间都是And关系。指定查询返回的内容有时候我们并不需要返回document里所有的key/ 阅读全文
posted @ 2011-11-02 14:02 javawebsoa 阅读(243) 评论(0) 推荐(0)
摘要:1.插入和保存document如前所述,向collection插入document使用insert方法>db.foo.insert({"bar":"baz"})如果document里边没有"_id"键,"_id"会被自动创建批量插入批量插入是一种更高效的方法,传递给database一个document的数组,可以一次插入多个document。单个插入的时候,向database传送一个document,前边会附加一个头部,告诉database在某个collection执行一次插入操作。批量插入只产生一个TCP请 阅读全文
posted @ 2011-11-02 14:01 javawebsoa 阅读(226) 评论(0) 推荐(0)
摘要:安装 解压缩出来就OK了,mongoDB缺省使用磁盘根目录的data文件夹和data\db文件夹, 这两个文件夹需要手工建立,如果想使用其他路径,那么启动mongoDB的时候需要指明路径运行 运行CMD打开控制台窗口,导航至mongodb的bin目录,运行mongod.exe,服务器就启动起来了,按ctrl-c结束程序。 另开一个控制台窗口,导航至mongodb的bin目录,运行mongo.exe来启动shell,就链接到服务器了,缺省连接到test数据库。-----------------------------------------------------------------... 阅读全文
posted @ 2011-11-02 14:00 javawebsoa 阅读(229) 评论(0) 推荐(0)
摘要:开始:先下载个C#的驱动。MongoDB提供各种主流与非主流预言的开发驱动。C# Driver 下载地址:猛击这里CSharp Driver Tutorial:猛击这里下载文件安装或者解压缩包如果您是安装,请到安装位置寻找,如果是ZIP压缩包,解压缩包得到如下两个文件:MongoDB.Bson.dll :序列化、Json相关MongoDB.Driver.dll :我们的驱动没了,只有这两个文件是我们的最爱。继续:新建一个C#的项目,不管你是vs2008,还是vs2010,也许您手中有vs2012?也发给我一份吧。感谢共享:)添加引用,将上面两个DLL引入到项目里面您启动Mongod.exe了吗 阅读全文
posted @ 2011-11-02 13:57 javawebsoa 阅读(334) 评论(0) 推荐(0)
摘要:官方下载地址:猛击这里Quickstart Windows:猛击这里下载文件解压缩包:bsondump.exemongo.exemongod.exemongodump.exemongoexport.exemongofiles.exemongoimport.exemongorestore.exemongos.exemongostat.exe在这一刻,我用的版本是1.6.5。在这一刻我不是一个人。严重声明:如果您压缩包中文件与本人不完全一致,请鞭挞这里,找个能留言的地方,质问官方所有工作人员。文件都有了,跟着Quickstart Windows往下走。不急不躁,MongoDB比Cassandra搭 阅读全文
posted @ 2011-11-02 13:56 javawebsoa 阅读(206) 评论(0) 推荐(0)
摘要:传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。一、关于MongoDB的驱动 MongoDB支持多种语言的驱动,在此我们只介绍C#的驱动。仅C#驱动都有很多种,每种驱动的形式大致相同,但是细节各有千秋,因此代码不能通用。比较常用的是官方驱动和samus驱动。samus驱动除了支持一般形式的操作之外,还支持linq方式操纵数据。各人比. 阅读全文
posted @ 2011-11-01 10:31 javawebsoa 阅读(215) 评论(0) 推荐(0)
摘要:一、MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。小插曲:什么是NoSql? NoSql,全称是 Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的AP.. 阅读全文
posted @ 2011-11-01 10:29 javawebsoa 阅读(263) 评论(0) 推荐(0)