mongoDB入门列子及原理介绍

本文着重介绍mongonDB的原理及安装,最后送大家一个简单的列子,有可以运行的列子和原理,相信大家很容易学会mongonDB ^_^

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。意在为WEB应用提供可扩展的高性能数据存储解决方案。

它有一下几个特点:

  1.模式自由。 ( 像json数据一样可以自由的宽展) 

  2.支持动态查询。

  3.支持完全索引,包含内部对象。

  4.支持查询。

  5.支持复制和故障恢复。

  6.使用高效的二进制数据存储,包括大型对象(如视频等)。

  7.自动处理碎片,以支持云计算层次的扩展性。

  8.支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

  9.文件存储格式为BSON(一种JSON的扩展)。

  10.可通过网络访问。(和大多数据数据库一样)

下面是个简单的增加和查找的列子,还是那句话不为别的只为读者一最快的速度了解mongonDB

1package com; 2 3import java.net.UnknownHostException; 4 5import com.mongodb.BasicDBObject; 6import com.mongodb.DB; 7import com.mongodb.DBCollection; 8import com.mongodb.DBCursor; 9import com.mongodb.DBObject; 10import com.mongodb.Mongo; 11import com.mongodb.MongoException; 12 13/** * @className:MogonDBDemo.java 14 * @classDescription: 15 * @author:jiangmianyue 16 * @createTime:2011-12-3 17 */ 18public class MogonDBDemo { 19 20 /** 21 * @MethodDescription: one simple example for mogondb 22 * @author:jiangmianyue 23 * @createTime:2011-12-3 24 */ 25 public static Mongo mongo=null; // Mongo对象 26 public static DB database=null; // MongonDB的数据库对象 27 public static DBCollection collection = null; // 类似于关系数据库的表 28 // 静态语句块,当与类同事加载,可以一个防止频繁初始化 29 static{ 30 try { 31 /** 32 * 初始化mogondb对象如果是本机Mongo()是个无参数的构造函数,如果是其他网络上的Mongo写成 33 * Mongo("http://233.23.11.8:端口号/数据库")的形式 34 */ 35 mongo = new Mongo(); 36 } catch (UnknownHostException e) { 37 e.printStackTrace(); 38 } catch (MongoException e) { 39 e.printStackTrace(); 40 } 41 // 获取一个叫xuehanDB的数据库,若没有此数据库就会新建一个 42 database = mongo.getDB("xuehanDB"); 43 // 获取一个teacher集合没有新建一个 44 collection = database.getCollection("people"); 45 } 46 public static void main(String[] args) { 47 Teacher t1 = new Teacher(); 48 t1.setId(1); 49 t1.setName("teacher1"); 50 insertOne(t1); 51 query(); 52 } 53 // 增加一个对象 54 public static void insertOne(Teacher teacher){ 55 BasicDBObject baseObject = new BasicDBObject(); 56 baseObject.put("id", teacher.getId()); 57 baseObject.put("name", teacher.getName()); 58 collection.insert(baseObject); 59 } 60 // 为对应Id的老师增加学生,例如给Id为1的老师增加学生 61 // 查询出所有的teacher并打印出来 62 public static void query(){ 63 DBCursor cur = collection.find(); 64 while (cur.hasNext()) { 65 System.out.println(cur.next()); 66 } 67 } 68 69} 70 // 新建一个teacher对象 71 class Teacher{ 72 private int id; 73 private String name; 74 public int getId() { 75 return id; 76 } 77 public void setId(int id) { 78 this.id = id; 79 } 80 public String getName() { 81 return name; 82 } 83 public void setName(String name) { 84 this.name = name; 85 } 86 87 }

 下载官方的mongonDB数据库解压到F:\job\db "cmd"进入dos界面,进入到mongonDB的bin目F:\job\db\mongodb-win32-i386-2.0.2-rc1\bin>敲入命令mongod.exe --dbpath F:\job\db\data(必须建立F:\job\db\data文件夹,文件夹名字可以随意不过路径不能有中文)敲回车mongod启动成功

运行java文件可以看到一下结果:

{ "_id" : { "$oid" : "4ed9cc01ffbf19d82ed3102b"} , "id" : 1 , "name" : "student1"}
{ "_id" : { "$oid" : "4ed9cc01ffbf19d82ed3102c"} , "id" : 1 , "name" : "student1"}
{ "_id" : { "$oid" : "4ed9cc19ffbf45716606bfb8"} , "id" : 1 , "name" : "teacher1"}
{ "_id" : { "$oid" : "4ed9cc92ffbf98ec2a4b8e36"} , "id" : 1 , "name" : "teacher1"}

每运行一次记录增加一条,呵呵,恭喜你你的mongodb第一个小程序运行成功

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

一篇文章带你搞懂非关系型数据库MongoDB

大家好,我是黄伟。今天给大家介绍芒果数据库,一起来看看吧。前言Mongodb,分布式文档存储数据库,由C语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。下面我们来说说它的具体用法吧。

一篇文章带你搞懂非关系型数据库MongoDB

大家好,我是黄伟。今天给大家介绍芒果数据库,一起来看看吧。前言Mongodb,分布式文档存储数据库,由C语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。下面我们来说说它的具体用法吧。

MongoDB 教程(一):了解 NoSQL

概述:  MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。  MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。关系型数据库遵循ACID规则  事务在英文中是tran

MongoDB和Studio3t安装

1\.什么是MongoDBMongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。2\.搭建MongoDB开发环境

mongoDB入门列子及原理介绍 - HelloWorld