Java操作mongoDB使用文档

Java操作mongoDB使用文档
Java操作mongoDB使用文档

Java Driver for MongoDB

开发前准备:

1.MongoDB连接url(e.g. localhost:27017)

2.mongo-java-driver-2.9.

3.jar(目前最新版)

https://www.360docs.net/doc/d57369546.html,(用来查看api和帮助文档)

一、连接MongoDB

// MongoDB连接对象

private Mongo mongoDBServer;

// 根据host:port获取MongoDB连接对象mongoDBServer = new Mongo( host, port );

// 数据库名

private String database;

// 从连接对象中获得相应数据库对象

DB db = mongoDBServer.getDB( database );

至此,我们已经打开了一个mongodb的连接,并且已经获得一个名为database的数据库(mongodb中成为collection集合)。下面对这个集合进行增删改查操作。

进行操作前。我们需要先使用数据库对象获取表(mongodb中的集合对象)。// 获得名为person的表(又称集合)

DBCollection dbcol = db.getCollection( "person" );

二、新增操作(Add)

// 新建一个map对象,将需要保存的数据放入map中

map.put("key","value");…….

// 用map对象创建一个MongoDB自带的DBObject对象用作插入操作参数DBObject param = new BasicDBObject( map );

// 调用数据库集合对象的insert方法,传入DBObject对象执行插入操作WriteResult result = dbcol.insert( param );

WriteResult对象是操作返回结果,我们可以用如下方法判断操作是否出错

if ( result.getError() != null )

{

System.out.println( result.getError() );

}

至此新增操作完成。

三、修改操作(update)

修改操作其实和新增操作的方法一样,唯一不同的地方是将以往我们编写SQL语句的操作改为创建mongodb查询json串。这里mongodb的update 方法比较复杂,此处只演示其中一种方法,具体的请各位自行google百度。(查询参数见:附录)

params.put( "age", 30 );

// 更新参数

DBObject param = new BasicDBObject( "$set", params );

// 更新条件

DBObject condition = new BasicDBObject( "personId", "{ personId : "hedaxing" }");

WriteResult result = dbcol.update( condition, param );

if ( result.getError() != null )

{

System.out.println( result.getError() );

}

这里用到了"$set"操作符,更新age字段。

四、查询操作(get)

DBCollection dbcol = db.getCollection( "person" ); DBObject param = new BasicDBObject( params );

// 获取age<30的数据

DBObject conditions = new BasicDBObject( "age", new BasicDBObject( "$lt", 30 ) );

DBCursor cursor = dbcol.find( condition );

for ( DBObject dbObject : cursor )

{

System.out.println( dbObject );

}

这边只列举了最简单的查询,详细查询见附录。

五、删除

DBCollection dbcol = db.getCollection( "person" ); params.put( "personId", "zhengchengong" ); DBObject param = new BasicDBObject( params ); WriteResult result = dbcol.remove( param );

if ( result.getError() != null )

{

System.out.println( result.getError() );

}

删除操作相对简单,只要将删除的条件放进map对象转换为DBObject执行DBCollection的remove操作即可。

附录

详细的官方文档:https://www.360docs.net/doc/d57369546.html,/manual/reference/operator/以下截取部分简要说明:

查询Java代码

以下是一些常用的查询方法,直接上

字段做相应的增减。查询的时候再对字段size做相应的处理

"$slice"用于返回数组的一个子集,支持前、后或者偏移

这里可以指明,与前面返回不同的是这里可以用0

这里主要考虑匹配查询内嵌文档,考虑如下文档

书中说到一种复杂情况下的查询:joe发表的5分以上的评论:

对结果集排序:1升序,-1降序。可支持多个键/对

Shell代码

mongodb学习总结

MongoDB学习文档 一、NoSQL简介 1、什么是NoSQL? NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。 2、NoSQL的优点/缺点 优点: 高可扩展性。 分布式计算。 低成本。 架构的灵活性,半结构化数据。 没有复杂的关系。

缺点: 没有标准化。 有限的查询功能(到目前为止)。 最终一致是不直观的程序。 3、NoSQL 数据库分类 类型部分代表特点 列存储Hbase Cassandra Hypertable 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。 文档存储MongoDB CouchDB 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。 key-value存储Tokyo Cabinet / Tyrant Berkeley DB MemcacheDB Redis 可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能) 图存储Neo4J FlockDB 图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。 对象存储db4o 通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。

MongoDB 使用手册-中文版

MongoDB 使用手册-中文版

目录 第1章MONGODB简介 (4) 1.1功能特点 (4) 1.2适用范围 (4) 第2章MONGODB下载及安装 (5) 2.1下载地址 (5) 2.2安装方法 (5) 第3章MONGODB语法 (6) 3.1基本命令 (6) 3.1.1.启动mongodb (6) 3.1.2.停止mongodb (6) 3.2SQL语法 (7) 3.2.1.基本操作 (7) 3.2.2.数据集操作 (8) 第4章JAVA操作MONGODB (10) 4.1正在整理中 (10) 第5章其它 (10) 5.1正在整理中 (10)

第1章MongoDB简介 1.1功能特点 官方网址:https://www.360docs.net/doc/d57369546.html,/ MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案。 它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等,主要功能特性有: ◆面向文档存储:(类JSON数据模式简单而强大)。 ◆高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。 ◆复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从 模式及服务器之间的相互复制。 ◆Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功 能支持水平的数据库集群,可动态添加额外的机器。 ◆动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻 易查询文档中内嵌的对象及数组。 ◆全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达 式,并生成一个高效的查询计划。 ◆支持RUBY,PYTHON,JA V A,C++,PHP等多种语言。 1.2适用范围 适用场景: ◆适合实时的插入,更新与查询,并具备应用程序实时数据存储所需的复制及高 度伸缩性。 ◆适合作为信息基础设施的持久化缓存层。 ◆适合由数十或数百台服务器组成的数据库。因为Mongo已经包含对 MapReduce引擎的内置支持。 ◆Mongo的BSON数据格式非常适合文档化格式的存储及查询。 不适用场景: ◆高度事务性的系统。 ◆传统的商业智能应用。 ◆级为复杂的SQL查询。

Mongodb集群搭建的三种方式

Mongodb集群搭建的三种方式 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 Mongodb的存储方式是文档式存储,并不是Key-Value形式。 Mongodb的三种集群方式的搭建:Replica Set、Sharding、Master-Slaver。 1、Replica Set(副本集) 简单来说就是集群当中包含了多份数据,保证主节点挂掉了,备节点能继续提供数据服务,提供的前提就是数据需要和主节点一致。如下图: Mongodb(M)表示主节点,Mongodb(S)表示备节点,Mongodb(A)表示仲裁节点。主备节点存储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。 默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。但是可以通过设置使备节点提供查询服务,这样就可以减少主节点的压力,当客户端进行数据查询时,请求自动转到备节点上。这个设

置叫做Read Preference Modes,同时Java客户端提供了简单的配置方式,可以不必直接对数据库进行操作。 仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。这里虽然只有一个备节点,但是仍然需要一个仲裁节点来提升备节点级别。 2、Sharding 和Replica Set类似,都需要一个仲裁节点,但是Sharding还需要配置节点和路由节点。就三种集群搭建方式来说,这种是最复杂的。部署图如下:

MongoDB应用

MongoDB数据库 一、MongoDB简介 MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。 MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。 MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。 二、Wind ows下MongoDB操作 MongoDB在Windows上的安装运行很方便。直接下载、解压,然后运行bin/mongod 即可启动服务器,运行bin/mongo 即可运行命令行客户端。 2-1、下载与解压 官方网站:https://www.360docs.net/doc/d57369546.html,/downloads。 下载对于版本,解压并抽取相关的bin目录到C:\MongoDB下(这个任意选择)。 在启动MongoDB之前,我们必须新建一个存放mongoDB数据和日志的目录。数据库目录:C:\MongoDB\data\db\,日志目录:C:\MongoDB\data\。 2-2、运行服务端 打开CMD窗口,进入到C:\MongoDB\bin目录下,运行服务端mongod.exe。 C:\>cd C:\MongoDB\bin C:\MongoDB\bin>mongod.exe --dbpath=C:\MongoDB\data\db --directoryperdb --logpath

=C:\MongoDB\data\logs --logappend 注: 日志文件为C:\MongoDB\data\logs,以及添加方式记录(追加)。 数据目录为C:\MongoDB\data\db,并且每个数据库将储存在一个单独的目录(--directoryperdb)。 服务端要一直运行。Ctrl+C可中断。 2-3、运行客户端 再打开一个CMD窗口,进入到C:\MongoDB\bin目录下,运行客户端mongo.exe来登录MongoDB。(要保持服务端mongod.exe的窗口不关闭) 2-4、测试操作 MongoDB使用GridFS来储存大文件。每个BSON对象大小不能超过4MB。 字段名限制:不能以“$”开头;不能包含“.”;“_id”是系统保留的字段,但用户可以自己储存唯一性的数据在字段中。 MongoDB为每个数据库分配一系列文件。每个数据文件都会被预分配一个大小,第一个文件名字为“.0”,大小为64MB,第二个文件“.1”为128MB,依此类推,文件大小上限为2GB。 MongoDB没有新建数据库或者collection的命令,只要进行insert或其它操作,MongoDB 就会自动帮你建立数据库和collection。当查询一个不存在的collection时也不会出错,Mongo会认为那是一个空的collection。 一个对象被插入到数据库中时,如果它没有ID,会自动生成一个“_id”字段,为24位16进制数。 MongoDB命令行客户端的脚本语法有些类似MySQL的: > show dbs // 列出所有数据库 > use memo // 使用数据库memo。即使这个数据库不存在也可以执行,但该数据库不会立刻被新建,要等到执行了insert等的操作时,才会建立这个数据库。

MongoDB入门经典

第一讲MongDB数据库的基本安装文件 https://www.360docs.net/doc/d57369546.html,/display/DOCS/Home MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo 使用C++开发。Mongo的官方网站地址是:https://www.360docs.net/doc/d57369546.html,/ 首先下载数据库的基本软件安装包,下载地址:https://www.360docs.net/doc/d57369546.html,/download 第二,新建目录“D:\MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下。 第三,在“D:\MongoDB”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。 配置Mongo服务端: https://www.360docs.net/doc/d57369546.html,/scotthernandez/mongo-seattle-java-development 打开CMD窗口,按照如下方式输入命令: > d: > cd D:\MongoDB > mongod --dbpath D:\MongoDB\data

就基本成功了 然后在浏览器中输入http://localhost:27017/ 显示以下网页You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number 然后就OK啦 第二讲关于在java平台下的mongodb的使用的操作 首先下载mongodb在java中的驱动库文件,下载地址分别为 https://https://www.360docs.net/doc/d57369546.html,/KentBeck/junit/downloads https://https://www.360docs.net/doc/d57369546.html,/mongodb/mongo-java-driver/downloads 第二部新建java工程添加库文件如图所示

MongoDB使用手册

MongoDB使用说明手册

目录 第1章MONGODB简介 (4) 1.1功能特点 (4) 1.2适用范围 (4) 第2章MONGODB下载及安装 (5) 2.1下载地址 (5) 2.2安装方法 (5) 第3章MONGODB语法 (6) 3.1基本命令 (6) 3.1.1.启动mongodb (6) 3.1.2.停止mongodb (6) 3.2SQL语法 (7) 3.2.1.基本操作 (7) 3.2.2.数据集操作 (8) 第4章JAVA操作MONGODB (10) 4.1正在整理中 (10) 第5章其它 (10) 5.1正在整理中 (10)

第1章MongoDB简介 1.1功能特点 官方网址:https://www.360docs.net/doc/d57369546.html,/ MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案。 它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等,主要功能特性有: ◆面向文档存储:(类JSON数据模式简单而强大)。 ◆高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。 ◆复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从 模式及服务器之间的相互复制。 ◆Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功 能支持水平的数据库集群,可动态添加额外的机器。 ◆动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻 易查询文档中内嵌的对象及数组。 ◆全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达 式,并生成一个高效的查询计划。 ◆支持RUBY,PYTHON,JA V A,C++,PHP等多种语言。 1.2适用范围 适用场景: ◆适合实时的插入,更新与查询,并具备应用程序实时数据存储所需的复制及高 度伸缩性。 ◆适合作为信息基础设施的持久化缓存层。 ◆适合由数十或数百台服务器组成的数据库。因为Mongo已经包含对 MapReduce引擎的内置支持。 ◆Mongo的BSON数据格式非常适合文档化格式的存储及查询。 不适用场景: ◆高度事务性的系统。 ◆传统的商业智能应用。 ◆级为复杂的SQL查询。

Spring-data-mongodb使用手册

Spring-data-mongodb使用手册

文档信息(Document Info) 标题(Title) Spring-data-mongodb使用手册 文档编号(No) 2012-09-19 作者(Author) 张瑜 最后发布时间(Last Update) 2012-09-20 概述(Summarize) 安装mongodb以及掌握spring-data-mongodb的使用方法,一些最佳实践

修订信息(Revise Info) 修订日期(Date)修订人(Reviser) 修订内容(Revises)

附件信息(Attachment Info)

目录 文档信息(Document Info) (2) 修订信息(Revise Info) (3) 附件信息(Attachment Info) (4) 1.概述 (5) 1.1.目的 (5) 1.2.范围 (6) 2.准备 (6) 2.1.环境配置 (6) 2.2.Windows7安装mongodb (6) 2.2.1.配置环境变量 (6) 2.2.2.启动配置mongodb (7) 3.Spring-data-mongodb (8) 3.1.背景 (8) 3.1.1.高级API (9) 3.1.2.低级API (9) 3.2.MongoDbFactory (9) 3.3.MongoTemplate (9) 3.4.Operations (10) 3.4.1.常用Api的方法: (10) 3.5.项目中如何配置实用mongodb (11) 3.6.Callback .................................................................................. 错误!未定义书签。 3.7.Topic和Messaging/PubSub (14) 3.8.Cache (14) 4.NoSQL数据库设计 (14) 4.1.案例1 (14) 5.最佳实践 (14) 5.1.项目案例1(Tinybee项目) (14) 1.概述 1.1. 目的 让团队成员比较快的上手mongodb的相关功能,思考如何结合自己的项目使用。

MongoDB开发使用手册

MongoDB开发使用手册 一.基础部分 MongDB简介 1.NOSQL历史和产生原因 原因: 互联网用户数的增长和用户参与互联网习惯的改变 1.初始的静态内容网站,提供中心化的内容服务, 特点: 中心化,用户阅读内容 系统:Apache 2.动态网页内容,电子商务和论坛网站出现。 特点: 用户访问动态内容,并提供少量内容 系统:Apache+Mysql+Php, IIS+ASP+SQLSERVER, IIS+https://www.360docs.net/doc/d57369546.html,+SQLSERVER, TOMCAT+JSP+ORACLE 3. 博客出现: 去中心化网站出现。 特点:Web2.0网站的雏形用户阅读内容,并开始更多地参与网站的交互 系统: 高并发访问,数据库压力增大Memcached 缓存的出现,并出现数据库集群的概念 4.微博,淘宝等网站出现,以及云计算平台出现,如google,百度广告,等大规模系统 特点: 用户重复参与网站交互,和内容提供,而系统需要对用户行为进行分析 系统:支持高并发,及时响应,并能够实现分布式计算 NOSQL:Memcached, Redis, Hbase, 等NOSQL数据库,不仅仅是简单缓存,并能够提供分布式要求,包括复制,分片,水平分区,并提供复杂格式的数据存储 总结: 1.高并发读写操作 普通关系型数据库,很难满足高并发读写的要求,上万次读写的需求 2.海量数据存储 上亿用户产生大量数据,包括用户数据,访问日志,用户提供内容,用户状态记录等,这种海量数据的存储,关系型数据库已经很难满足,尤其是从海量数据中提取和汇总数据成为瓶颈 3.高可用性和高扩展性 关系型数据库也能支持,同步复制,水平分区扩展,但维护工作相当繁杂,并很难做到热扩展 4.内存操作(快速), 并发量高(非阻塞进程), 硬盘回写(数据完整和高效的平衡),备份和恢复 复制(高可用性,和连续服务), 分片(热扩展,海量数据) 操作简单(JSON),负载均衡,分布式部署(局域网,和物理部分), 事务支持

MongoDB基础教程

目录 1下载与安装---------------------------------------------------------------------------------2 2启动------------------------------------------------------------------------------------------2 3基本概念------------------------------------------------------------------------------------3 4常用命令------------------------------------------------------------------------------------3 4.1调用命令----------------------------------------------------------------------------3 4.2use------------------------------------------------------------------------------------4 4.3插入数据----------------------------------------------------------------------------4 4.4查询数据----------------------------------------------------------------------------5 4.4.1查询返回document---------------------------------------------------------6 4.4.2查询返回field---------------------------------------------------------------6 4.4.3结果排序--------------------------------------------------------------------7 4.4.4分页查询--------------------------------------------------------------------7 4.4.5查询数量--------------------------------------------------------------------7 4.5删除数据----------------------------------------------------------------------------7 4.6更新数据(与关系型差异较大)----------------------------------------------7 4.6.1增加field---------------------------------------------------------------------8 4.6.2upset--------------------------------------------------------------------------8 4.6.3批量更新--------------------------------------------------------------------8 4.7索引----------------------------------------------------------------------------------8 5其他------------------------------------------------------------------------------------------9 5.1使用web获得mongoDB的信息--------------------------------------------------9 5.2数据备份和恢复-------------------------------------------------------------------9 5.3导入导出数据----------------------------------------------------------------------9 6使用MongoDB-----------------------------------------------------------------------------9

mongoDb使用教程

MongoDB Java API 该文档是翻译自文档[mongodb-docs-2010-10-24.pdf]的[Java Language Center]章节,根据自己的理解整理而成。 希望能给像我这样开始接触的朋友一点帮助,同时也做个备忘,因为是刚刚学习,其中的很多功能目前都用不上,以后万一有什么功能不太清楚,也可以直接查阅该文档了。首先安装可视化工具mongoDBvue可去百度搜索 MongoDB Java Driver 简单操作 一、Java驱动一致性 MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,Mongo有个内置的连接池(池大小默认为10个)。 对于有大量写和读的环境中,为了确保在一个Session中使用同一个DB时,我们可以用以下方式保证一致性: DB mdb = mongo.getDB('dbname'); mdb.requestStart(); // // 业务代码 // mdb.requestDone(); DB和DBCollection是绝对线程安全的,它们被缓存起来了,所以在应用中取到的可能是同一个对象。 二、保存/查找对象(DBObject) Java驱动提供了DBObject接口,方便我们保存对象到数据库中。 定义需要保存的对象: public class Tweet implements DBObject { /** ...... */ } 然后我们可以使用该对象: Tweet tweet = new Tweet(); tweet.put("user", userId); tweet.put("message", message); tweet.put("date", new Date()); collection.insert(tweet); 当从数据库中查询时,结果会自动的转换成DBObject对象,我们可以转换成我们自己的类型: collection.setObjectClass(Tweet); Tweet myTweet = (Tweet)collection.findOne(); 三、创建连接 Mongo m = new Mongo(); Mongo m = new Mongo("localhost"); Mongo m = new Mongo("localhost", 27017); DB db = m.getDB("mydb); 注意:事实上,Mongo实例代表了一个数据库连接池,即使在多线程的环境中,一个Mongo实例对我们来说已经足够了。

在C#使用MongoDB

好了,有了前面的准备工作,我们可以开始在C#中使用MongoDB了。不过,由于本示例项目的代码也不少,因此本文将只展示与MongoDB交互的相关代码,更完整的代码请自行查阅示例项目。 接下来,本文演示通过C#完成【客户资料】的一些基本的数据操作,还是先来定义一个客户资料的类型吧。 public sealed class Customer { [MongoId] public string CustomerID { get; set; } public string CustomerName { get; set; } public string ContactName { get; set; } public string Address { get; set; } public string PostalCode { get; set; } public string Tel { get; set; } } 说明:这就是一个简单的类,而且代码中的[MongoId]也是可以不要的(这个后面再说)。 在操作数据库之前,我要说明一下:MongoDB在使用前,并不要求您事先创建好相应的数据库,设计数据表结构! 在MongoDB中,没有【表】的概念,取而代之的是【集合】,也没有【数据记录】的概念,取而代之的是【文档】,我们可以把【文档】理解成一个【对象】,任意的对象,甚至可以有复杂的嵌套层次。因此,我们不用再写代码从【数据表字段】到C#类的【属性,字段】的转换了,现在直接就可以读写整个对象了。 而且MongoDB不支持Join操作,所以,如果有【关联】操作,就需要你自己来处理。 再来定义二个变量: private static readonly string _connectionString = "Server=127.0.0.1"; private static readonly string _dbName = "MyNorthwind"; 新增记录 public void Insert(Customer customer) { customer.CustomerID = Guid.NewGuid().ToString("N"); // 首先创建一个连接 using( Mongo mongo = new Mongo(_connectionString) ) { // 打开连接 mongo.Connect(); // 切换到指定的数据库 var db = mongo.GetDatabase(_dbName); // 根据类型获取相应的集合 var collection = db.GetCollection(); // 向集合中插入对象 collection.Insert(customer); } } 上面的代码中,每一行都有注释,这里就不再解释了。 删除记录 public void Delete(string customerId) { using( Mongo mongo = new Mongo(_connectionString) ) { mongo.Connect(); var db = mongo.GetDatabase(_dbName); var collection = db.GetCollection(); // 从集合中删除指定的对象 collection.Remove(x => x.CustomerID == customerId); } }

MongoDB基础教程

MongoDB基础教程 第一部分 翻译原因 网上的相关说明别说中文了连英文都很少,而且有的基本上就是一些简单的配置,加上最近时间比较多,有点想做,所以就做了。 致谢 先感谢国家,谢谢国家对我的培养,再感谢组织,感谢我的公司给我了研究MongoDB 的机会,让我有时间去研究了MongoDB,最后感谢父母的养育之恩。 温馨提示 我以下所有示例都是建立在Java语言的基础上,只作java语言的介绍,其他语言类似。 概述 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。 它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: *面向集合存储,易存储对象类型的数据。 *模式自由。 *支持动态查询。 *支持完全索引,包含内部对象。 *支持查询。 *支持复制和故障恢复。 *使用高效的二进制数据存储,包括大型对象(如视频等)。 *自动处理碎片,以支持云计算层次的扩展性 *支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。 *文件存储格式为BSON(一种JSON的扩展)

*可通过网络访问 所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。 MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。 注意:以上概述部分摘自百度百科https://www.360docs.net/doc/d57369546.html,/view/3385614.htm 第二部分 基础知识(重点) 快速入门 快速入门Unix系统 安装MongoDB 先根据自己的系统下载自己需要的版本,然后解压即可 32位Linux $ curl https://www.360docs.net/doc/d57369546.html,/linux/mongodb-linux-i686-1.4.3.tgz > mongo.tgz $ tar xzf mongo.tgz 64位Linux $ curl https://www.360docs.net/doc/d57369546.html,/linux/mongodb-linux-x86_64-1.4.3.tgz > mongo.tgz $ tar xzf mongo.tgz 其他版本去下载页面https://www.360docs.net/doc/d57369546.html,/display/DOCS/Downloads找与之对应的版本安装即可。

MongoDB常用操作命令大全

MongoDB常用操作命令大全 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。 一、数据库常用命令 1、Help查看命令提示 复制代码代码如下: help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2、切换/创建数据库 复制代码代码如下: use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库 3、查询所有数据库 复制代码代码如下: show dbs; 4、删除当前使用数据库 复制代码代码如下: db.dropDatabase(); 5、从指定主机上克隆数据库 复制代码代码如下: db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库 6、从指定的机器上复制指定数据库数据到某个数据库 复制代码代码如下:

db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中 7、修复当前数据库 复制代码代码如下: db.repairDatabase(); 8、查看当前使用的数据库 复制代码代码如下: db.getName(); db; db和getName方法是一样的效果,都可以查询当前使用的数据库 9、显示当前db状态 复制代码代码如下: db.stats(); 10、当前db版本 复制代码代码如下: db.version(); 11、查看当前db的链接机器地址 复制代码代码如下: db.getMongo(); 二、Collection聚集集合 1、创建一个聚集集合(table) 复制代码代码如下: db.createCollection(“collName”, {size: 20, capped: 5, max: 100});//创建成功会显示{“o k”:1} //判断集合是否为定容量db.collName.isCapped(); 2、得到指定名称的聚集集合(table) 复制代码代码如下: db.getCollection("account"); 3、得到当前db的所有聚集集合 复制代码代码如下:

MongoDB数据库教程

MongoDB数据库简单介绍(一) Mongo是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发, 提供了以下功能: 1.面向集合的存储:适合存储对象及JSON形式的数据。 2.动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易 查询文档中内嵌的对象及数组。 3.完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达 式,并生成一个高效的查询计划。 4.查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。 5.复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及 服务器之间的相互复制。复制的主要目标是提供冗余及自 动故障转移。 6.高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。 7.自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平 的数据库集群,可动态添加额外的机器。 MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS 系统(丰富的功能)架起一座桥梁,集两者的优势于一 身。根据官方网站的描述,Mongo 适合用于以下场景: 1.网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所 需的复制及高度伸缩性。 2.缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后, 由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。 3.大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵, 在此之前,很多时候程序员往往会选择传统的文件进行存储。 4.高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路 线图中已经包含对MapReduce引擎的内置支 持。 5.用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储 及查询。 自然,MongoDB的使用也会有一些限制,例如它不适合: 1.高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于 需要大量原子性复杂事务的应用程序。 2.传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。对 于此类应用,数据仓库可能是更合适的选择。 3.需要SQL的问题 MongoDB支持OS X、Linux及Windows等操作系统,并提供了Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang 及.NET等平台的驱动程序

MongoDB使用手册

MongoDB使用手册 一、安装包下载地址 https://www.360docs.net/doc/d57369546.html,/downloads 二、服务器端使用 LINUX版本: ①用tar -zxvf mongodb-linux-x86_64-1.2.4.tgz解压开安装包 ②mkdir -p /data/db 创建目录 ③cd /data/db 进入db目录下然后创建mkdir m_data m_log ④进入mongodb解压目录的bin目录下,用 ./mongod -fork --dbpath=./data/db/m_data/ --logpath=./m_log.log --logappend --port=27017 & 启动服务器。 WINDOW版本: 执行如下命令启动服务器: mongod --bind_ip 127.0.0.1 --logpath d:\data\logs --logappend --dbpath d:\data\db --directoryperdb –install 【注:将mongodb安装成服务,装该服务绑定到IP127.0.0.1,日志文件为d:\data\logs,以及添加方式记录。数据目录为d:\data\db。并且每个数据库将储存在一个单独的目录(--directoryperdb)】 三、客户端使用: LINUX版本: 进入MongoDB的bin目录下,使用./mongo进入命令行行下然后即可进行增删改查等日常操作。 WINDOW版本: 进入mongodb的bin目录下,使用mongo.exe --host IP --port 端口连接到MongoDB服务器上 四、MongDB停止 LINUX版本: 如果在shell窗口下可以直接按“CTRL+C”,如果是作为后台服务使用时,可以先使用ps -ef |grep mongod查询出服务器的pid,然后使用kill -9 pid 此处的Pid为查询出的pid。 WINDOW版本: 如果在命令窗口下直接按“CTRL+C”,如果是作为系统服务来使用的话,需要到服务管理中停止服务或者在window管理器中终止进程。 五、web版本的统计服务状态 使用http://IP(服务器IP):端口即可 六、语法 1、基本操作 db.AddUser(username,password) 添加用户 db.auth(usrename,password) 设置数据库连接验证 db.cloneDataBase(fromhost) 从目标服务器克隆一个数据库 https://www.360docs.net/doc/d57369546.html,mandHelp(name) returns the help for the command db.copyDatabase(fromdb,todb,fromhost) 复制数据库fromdb---源数据库名称,todb---目标数据库名称,fromhost---源数据库服务器地址

MongoDB常用操作命令大全

MongoDB常用操作命令大全 作者:字体:[增加减小] 类型:转载时间:2014-03-18 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('us er')),这样就可以创建一个名叫“myTest”的数据库。 一、数据库常用命令 1、Help查看命令提示 复制代码代码如下: help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2、切换/创建数据库 复制代码代码如下: use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库 3、查询所有数据库 复制代码代码如下: show dbs; 4、删除当前使用数据库 复制代码代码如下: db.dropDatabase(); 5、从指定主机上克隆数据库 复制代码代码如下: db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库 6、从指定的机器上复制指定数据库数据到某个数据库 复制代码代码如下: db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中 7、修复当前数据库 复制代码代码如下: db.repairDatabase(); 8、查看当前使用的数据库 复制代码代码如下: db.getName(); db; db和getName方法是一样的效果,都可以查询当前使用的数据库

Mongodb安装和实用命令

命令可直接从文档复制。#后为命令 从官网下载mongodb-win32-i386-2.6.6.zip,把解压的文件放到E:\mongodb,备用。 安装: 1、配置环境变量path,加上“;E:\mongodb\bin;”,在E:\mongodb下建立文件夹date->db,形成目录“E:\mongodb\data\db”。 2、(windows)doc下打开两个cmd窗口(A服务窗口、B客户端窗口)。 A中输入#mongod --dbpath E:\mongodb\data\db 稍等片刻后--- B中输入#mongo 当A中出现如下图类似字样,则说明连接成功。(亦是安装成功)默认连接端口为27017 Mongodb学习 第二次启动mongodb服务。用cmd打开窗口(A服务窗口、B客户端窗口)。 A中输入命令: # mongod --dbpath=E:\mongodb\data\db 将MongoDB作为Windows 服务随机启动: #mongod --dbpath=E:\mongodb\data\db --logpath=E:\mongodb\logs\mongodb.log --install 若出现“32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.”无碍 进入计算机->管理->服务,可看到有一个名为MongoDB的服务。右键“启动”即可。 卸载服务: #mongod --dbpath=E:\mongodb\data\db --remove --serviceName "MongoDB" 进入计算机->管理->服务,之前名为MongoDB的服务不见了。 B中输入: #mongo 创建用户 > use admin 跳转进入admin用户下。。。 > db.addUser("chenxi","chenxi123") 出现“WARNING: The 'addUser' shell helper is DEPRECA TED. Please use 'createUser' instead Successfully added user: { "user" : "chenxi", "roles" : [ "root" ] }”无碍 > db.auth("chenxi","chenxi123") 1用户校验成功,注:只是普通用户,0为未匹配 > db.removeUser("chenxi") 或> db.dropUser("chenxi")删除用户 > db.addUser("admin","admin123") WARNING: The 'addUser' shell helper is DEPRECA TED. Please use 'createUser' instead Successfully added user: { "user" : "admin", "roles" : [ "root" ] } > use chenxi 转到chenxi用户下 > db.addUser("padmin","padmin123") 创建普通存储用户

相关主题
相关文档
最新文档