MongoDB数据库(一)

MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最想关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面相对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据简历索引。
特点:
他的特点是高性能、易部署、易使用,存储数据非常方便,主要功能特性有:面相集合存储,易存储对象类型的数据,模式自由,支持动态查询,支持完全索引,包含内部对象,支持查询,支持复制和故障恢复,使用高效的二进制数据存储,包括大型对象。自动处理碎片,以支持云计算层次的扩展性。支持ruby、python、java、C++、PHP、C#等多种语言。文件存储格式为BSON(一种JSON的扩展)。可通过网络访问。
使用原理:
所谓“面向集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合在数据库中都有一个唯一的标示名,并且可以包含无限制数目的文档,集合的概念乐死关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。
模式自由(schema-free),意味着对于存储的mongodb数据库中的文件,我们不需要知道它的任何结构定义,如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。存储的集合中的文档,被存储为键-值对的形式,键用于唯一标示一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized  dOcument Format)。
实际应用:
MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017,推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。

MongoDB下载地址http://www.mongodb.org/downloads,上面有支持不同操作系统平台的版本,根据自己需求下载。
第一步安装MongoDB
只需要把下载下来的MongoDB版本解压开来即可。
第二部启动MongoDB服务器
首先需要在windows系统的 /目录下创建data/db文件夹。然后通过cmd窗到解压开MongoDB目录下的bin目录下执行mongod.exe启动MongoDB服务器。
第三部:启动MongoDB shell指令:
直接运行MongoDB目录下的mongo.exe文件及可。

MongoDB语法:
use School 创建数据库
show dbs;查看当前有哪些数据库。
student={name:"zhangsan",age:20}
db.students.save(student);这个表示把student这条记录插入到students这个集合中(相当于表)
db.students.find()查询students这个集合的记录。

Java操作MongoDB,首先下载MongoDB的java驱动包https://github.com/mongodb/mongo-java-driver/downloads

Java中MongoDB的操作:

package com.yjpeng.database.mongodb;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;

public class Mongodb {
	public static void main(String[] args){
		try{
			Mongo mongo = new Mongo("192.168.122.69",27017);
			DB db = mongo.getDB("school");
			DBCollection dbCollection = db.getCollection("students");
			BasicDBObject student_1 = new BasicDBObject();
			student_1.put("name", "lisi");
			student_1.put("no", 1);
			student_1.put("age", 20);
			dbCollection.insert(student_1);
//			BasicDBObject student1 = new BasicDBObject();
//			student1.put("no", 1);
			//根据条件查询
//			DBCursor cursor = dbCollection.find(student1);
			//查询所有
			DBCursor cursor = dbCollection.find();
			while(cursor.hasNext()){
				DBObject obje = cursor.next();
				System.out.println(obje.get("name") + "," + obje.get("no") +  "," + obje.get("age"));
			}
			
			dbCollection.drop();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值