`

芒果DB:mongodb

阅读更多
芒果DB:mongodb

一、介绍:
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。

NoSql,全称是 Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。


二、下载安装
1.按照操作系统下载http://www.mongodb.org/downloads

2.在D盘新建MongoDB文件夹(此文件夹为自定义的数据库安装目录D:\MongoDB)把刚才下载的压缩包解压并把bin文件夹拷贝到MongoDB文件夹。

3.在MongoDB文件夹内新建logs文件夹(用于存储日志文件D:\MongoDB\logs),并在此文件夹内新建空文件mongodb.log。

4.在MongoDB文件夹内新建db文件夹(用于存放数据库文件D:\MongoDB\db)。

5.启动MongoDB。
以系统管理员身份运行cmd,切换至D:\MongoDB\bin目录输入mongod.exe --dbpath=d:\mongodb\db。如看到控制台最后一行类似Tue Oct 09 11:50:55 [websvr] admin web console watiing for connections on port 28017说明启动成功(MongoDB占用系统27017端口)


6.注册MongoDB为系统服务(此步骤必须以系统管理员身份运行cmd,否则会报错)
以系统管理员身份运行cmd输入并切换至MongoDB的bin目录运行以下语句
mongod.exe --dbpath=d:\mongodb\db --logpath=d:\mongodb\logs\mongodb.log --install --serviceName "MongoDB"
回车
如果控制台出现类似Tue Oct 09 12:05:15 Service can be started from the command line with 'net start MongoDB'这样的语句,说明服务已经注册成功。
cmd--net start MongoDB(Mongo DB已启动)
在浏览器中输入http://localhost:端口号--可以监视mongodb的运行状态。

7.测试MongoDB
以管理员身份新建一个cmd窗口,进入MongoDB的bin目录输入mongo,如出现connecting to:test说明测试通过。
注意:此处也可以在配置环境变量mongodb的环境变量:MONGODB_HOME=D:\MongoDB
配置mongodb Path,为%MONGODB_HOME%\bin
这样就可以cmd--mongo运行
继续测试:
(1).输入use test回车
(2).输入db.foo.save({hello:1, baie:2})回车
(3).输入db.foo.find()回车
如果出现类似{ "_id" : ObjectId("5073a0a090f93be1455461d2"), "hello" : 1, "baie" : 2 }之类信息,说明测试成功数据已经插入数据库,然后输入exit退出。

8.在cmd中输入net start MongoDB即可启动MongoDB数据库服务,此时控制台输出Mongo DB 服务已经启动成功,说明系统启动成功。

9.如果出现发生系统错误 1067 请把db目录下的mongod.lock文件删除后重新输入net start MongoDB启动服务即可。

三、下载驱动(for JAVA)
https://github.com/mongodb/mongo-java-driver/downloads

四、实例
DEMO01:
public class Demo01 {
	public static void main(String[] args) throws Exception {
		Mongo conn = new Mongo("localhost", 27017);
		DB db = conn.getDB("test");

		// 1.查询所有的Database
		for (String name : conn.getDatabaseNames()) {
			System.out.println("dbName: " + name);
		}

		// 2.获取所有collection
		for (String s : db.getCollectionNames()) {
			System.out.println(s);
		}

		// 3.查询所有的用户信息
		DBCollection users = db.getCollection("users");
		DBCursor cur = users.find();
		while (cur.hasNext()) {
			System.out.println(cur.next());
			System.out.println(cur.count());
			System.out.println(cur.getCursorId());
			System.out.println(JSON.serialize(cur));
		}
     }
 }


DEMO02:
public class Demo01 {
	public static void main(String[] args) throws Exception {
		Mongo conn = new Mongo("localhost", 27017);
		DB db = conn.getDB("test");
		DBCollection coll = db.getCollection("testCollection");
		// 获取一个collection
		BasicDBObject doc = new BasicDBObject();
		doc.put("name", "MongoDB");
		doc.put("type", "database");
		doc.put("count", 1);
		BasicDBObject info = new BasicDBObject();
		info.put("fileName", "momo.doc");
		info.put("type", ".doc");
		info.put("size", "2500KB");
		doc.put("info", info);
		coll.insert(doc);// 1.保存Document

		// 2.查询Document
		DBObject myDoc = coll.findOne();
		System.out.println(myDoc);

		// 插入多个document
		for (int i = 0; i <= 2; i++) {
			coll.insert(new BasicDBObject().append("i", i));
		}

		// 计算有多少个document
		System.out.println(coll.getCount());

		// 使用DBCursor 类获取所有document
		DBCursor cur01 = coll.find();
		while (cur01.hasNext()) {
			System.out.println(cur01.next());
		}

		// 带条件的查询
		BasicDBObject query = new BasicDBObject();
		query.put("i", 2); // 查i的值为98的所有对象
		cur = coll.find(query);
		while (cur.hasNext()) {
			System.out.println(cur.next());
		}

		// 解析json格式的字符串
		Object o = JSON.parse("{ \"name\" : \"MongoDB\", \"type\" : \"database\",\"count\" : 1, \"info\" : \"sdfsdf\"}");
		BasicDBObject oo = (BasicDBObject) o;
		System.out.println(oo.get("name"));
   }
}

控制台输出:
{ "_id" : { "$oid" : "51e7b3c63cfdaee4a00f7aaf"} , "name" : "MongoDB" , "type" : "database" , "count" : 1 , "info" : { "fileName" : "momo.doc" , "type" : ".doc" , "size" : "2500KB"}}
3
{ "_id" : { "$oid" : "51e7ad053cfdb7a5c7796fb1"} , "i" : 2}
MongoDB




参考:
1.http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html
2.http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html
分享到:
评论

相关推荐

    MangoDB:MongoDB KO 3.3(用于3.2、3.1和3.0检查分支)

    适用于Kohana 3.3的MongoDB芒果Mango是一个类似于ORM / ActiveRecord的库,它充分利用了MongoDB的功能。 芒果支持: 原子更新-库将计算更改的值,并使用$ set,$ push / $ pull和$ inc等原子修饰符仅更新这些值所有...

    mongodb64芒果数据库

    MongoDB是一种开源、分布式、高性能的NoSQL数据库,它的出现主要解决了传统关系型数据库在处理大规模数据时面临的挑战。MongoDB64指的是适用于64位操作系统的MongoDB版本。在这个压缩包中,我们找到了名为“mongodb-...

    mongodb数据库可视化操作工具

    MongoDB是一款流行且功能强大的NoSQL数据库系统,以其灵活性、高性能和高可扩展性而闻名。在管理和操作MongoDB数据库时,使用可视化工具可以极大地提高效率,使数据库管理变得更加直观和简便。对于初学者和专业人士...

    MongoDB 数据库

    3. 初始化数据目录:MongoDB需要一个数据存储位置,通常创建一个名为"data\db"的目录作为默认数据存储路径。 4. 启动MongoDB服务:通过运行mongod.exe文件启动MongoDB服务。在命令行中,你可能需要指定数据目录和...

    robomongo:mangoDB可视化工具

    关于标签“mangoDB”,这里可能是输入错误,应该是“MongoDB”。MongoDB是NoSQL数据库的一种,其数据模型基于键值对、文档、集合和数据库。与传统的SQL数据库不同,MongoDB以JSON格式存储数据,非常适合处理半结构化...

    MongoDB 从入门到精通专题教程

    一步步教你如何使用芒果数据库,如下载,安装,使用: --------------------------------------- 首先上mongodb官网(www.mongodb.org)看了一下开始文档,下了个windows版的,装了一下,并且写了几个简单的例子,...

    mongodb入门教程

    MongoDB 是一个流行的开源、分布式文档数据库系统,它属于NoSQL数据库家族,以其灵活性、高性能、高可用性和可扩展性而备受青睐。本教程将帮助初学者了解MongoDB的基础知识,包括安装、基本操作、数据模型、查询以及...

    芒果数据库基本操作

    菲关系型数据库MongoDB,包含数据库操作基本命令以及数据库与python交互的基本操作

    robo mongo

    描述中的“芒果db mongoDB GUI manager”进一步强调了Robo 3T是MongoDB的图形化管理界面,它的界面设计友好,适合新手和经验丰富的开发者。"芒果db"可能是对Robo 3T名称的一种形象化称呼,因为"3T"在英文中与“tree...

    mongoDB数据库CURD操作,配有界面

    MongoDB是一种流行的、开源的、基于文档的NoSQL数据库,被广泛用于处理大规模数据。它的灵活性、高性能和易于使用使其成为许多开发者的首选。在这个MongoDB CURD操作的示例中,我们将探讨如何在Windows 7环境下使用...

    python学习MongoDB.txt

    MongoDB (芒果数据库) 数据存储阶段 文件管理阶段(.txt .doc .xls) 优点 : 使用简单,展现直观 可以长期保存数据 可存储数据量比较大 缺点 : 查找不方便 容易造成数据冗余 数据格式不规范 数据库管理...

    MongoDB常用操作命令大全

    10. 获取连接地址:`db.getMongo()`返回连接到MongoDB的服务器地址。 二、集合操作 1. 创建集合:`db.createCollection("collName", {size: 20, capped: 5, max: 100})`创建名为`collName`的集合,其中`size`指定...

    网鸟老兵系列课程之10天掌握MongoDB.ppt

    MongoDB由"Mongo"和"DB"两个词组合而成,"Mongo"来源于Humongous,意为巨大的,强调其处理大量数据的能力,而"DB"则代表数据库。尽管有些人喜欢将其昵称为“芒果”,但课程作者陈颜铭建议翻译为“猛狗”,以体现其...

    mongo数据库安装与配置

    MongoDB是一种分布式文档数据库,广泛应用于现代Web应用、大数据分析和实时应用程序中。它以其灵活的数据模型、高可用性和可扩展性而闻名。本篇文章将详细介绍MongoDB的安装过程、配置方法,以及如何使用一个客户端...

    mango:用于Deno的MongoDB驱动器

    芒果 用于Deno的MongoDB驱动程序。 :warning: 工作正在进行中。 期待重大变化。 目录 快速开始 可能会发生变化,这里主要是作为占位符。 进行中 import { Mango } from "https://deno.land/x/mango/mod.ts" const ...

    Docker-Compose-for-nodejs-mysql-nad-mangodb:目标1.验证候选人使用Jenkins的能力2.验证候选人使用Docker的能力3.验证候选人创建具有不同服务的运行环境的能力4.验证候选人设置安全性的能力

    ●使用docker-compose创建3个不同的docker环境,该环境中的每个服务(Nodejs,Mongodb,Mysql)应在单独的容器中运行。 芒果数据库数据库Docker-compose文件 #nodjs version: '3' services: nodej

Global site tag (gtag.js) - Google Analytics