`
singleant
  • 浏览: 378154 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

因为未来业务发展的一个需求里的,考虑要用到NoSql,所以做了一些预研。今天简单体验了下mongdb,感觉挺合适的,有点热血沸腾。简单记录下mongoDB的一些初体验。

mongoDB的特性有哪些?以下是官网的定义:

MongoDB (from "humongo us") is a scalable, high-performance, open source NoSQL database. Written in C++, MongoDB features:

以上定义很喜人吧,我还没有深入研究。其他的特性且不说,单是以下两个特性已经能满足我的需求了。

1.面向集合,模式自由 “面向集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库 (RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。

 

2.虽然是非结构化数据,但支持动态查询 。允许在任意字段赏建立索引,支持任意属性作为条件的遍历查找。

不过深入的还需要在调研。

以下记录一下体验帖,没任何技术含量,入门可参考:

 

1.安装

1.下载:http://www.mongodb.org/downloads 在上面找到你需要的版本。

2.linux下的安装

解压即可,并通过sudo mkdir -p /data/db 创建数据存储目录。

3.启动:先到mongodb安装目录的bin目录下启动mongod,然后启动一个客户端mongo即可进行操作。输入help命令就可以查到主要的命令了。逐一体验即可。

 

 

2.java客户端体验

1.还是在官网上下载java driver

2.编写代码

以下是我编写的一些插入、查找功能等代码,还是十分简单的

package test.mongodb;

import java.net.UnknownHostException;

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

public class MyDB {
	DB db;
	DBCollection coll;

	MyDB(String dbName) {
		Mongo m = null;
		try {
			m = new Mongo("localhost", 27017);//创建Mongo实例
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		}

		db = m.getDB(dbName);//获取数据库
		coll = db.getCollection("foo");//数据集,类似表
	}


	/**
	 * 往数据集里插入一个文档
	 */
	public void insertDoc() {
		BasicDBObject doc = new BasicDBObject();
		doc.put("memberId", "abing3");
		doc.put("businessModel", "manufature");
		doc.put("count", 1);
		BasicDBObject info = new BasicDBObject();
		info.put("x", 203);
		info.put("y", 102);
		doc.put("attr", info);
		coll.insert(doc);
	}

	/**
	 * 往数据集里循环插入文档
	 */
	public void loopInsertDoc() {
		for (int i = 0; i < 100; i++) {
			BasicDBObject doc = new BasicDBObject();
			doc.put("memberId", "abing3"+i);
			doc.put("businessModel", "manufature");
			doc.put("count", 1);
			BasicDBObject info = new BasicDBObject();
			info.put("x", 203);
			info.put("y", 102);
			doc.put("attr", info);
			coll.insert(doc);
		}
	}

	/**
	 * 从数据集里查找一个文档
	 */
	public void findDoc() {
		DBObject myDoc = coll.findOne();
		System.out.println(myDoc);
	}
	
	/**
	 * 统计文档数
	 */
	public void countDocs(){
		System.out.println(coll.count());
	}

	/**
	 * 通过游标遍历文档
	 */
	public void iterateAccess() {
		DBCursor cur = coll.find();
		while (cur.hasNext()) {
			System.out.println(cur.next());
		}
	}
	
	/**
	 * 通过条件查找
	 */
	public void findDocWithQuery() {
		BasicDBObject query = new BasicDBObject();
		query.put("member_id", "abing37");
		DBCursor cur = coll.find(query);
		while (cur.hasNext()) {
			System.out.println(cur.next());
		}
	}
	
	/**
	 * 查询集合
	 */
	public void querySet() {
		BasicDBObject query = new BasicDBObject();
		query.put("i", new BasicDBObject("$gt", 20).append("$lte", 30)); 
		DBCursor cur = coll.find(query);
		while (cur.hasNext()) {
			System.out.println(cur.next());
		}
	}

	/**
	 * 创建索引
	 */
	public void createIndex() {
		coll.createIndex(new BasicDBObject("memberId", 1));
	}

	//test
	public static void main(String[] args) {
		MyDB db = new MyDB("mydb");
//		db.insertDoc();
//		db.loopInsertDoc();
//		db.findDoc();
//		db.countDocs();
//		db.iterateAccess();
//		db.findDocWithQuery();
//		db.querySet();
//		db.createIndex();
	}
}

 

 

 

 

0
1
分享到:
评论

相关推荐

    NoSQLBooster for MongoDB

    NoSQLBooster提供了一系列功能,旨在提升MongoDB的使用体验: 1. **图形化用户界面(GUI)**:NoSQLBooster提供了一个直观的GUI,允许用户通过简单的拖放操作和清晰的布局来执行查询、插入、更新和删除操作,极大地...

    Mac OS版 nosqlbooster mongodb可视化工具

    描述中的"Mac版的nosqlbooster mongodb可视化工具,非常好用,推荐"表明了该工具在Mac OS上的表现优秀,具有良好的用户体验,并且得到了使用者的高度评价。NosqlBooster的易用性和高效性使得它成为管理MongoDB数据库...

    NoSQL Manager for MongoDB 4.8.2下载

    MongoDB是一款流行且高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性著称。NoSQL Manager for ...通过遵循"安装须知.txt"中的指导,用户可以安全有效地安装和使用这款工具,进一步提升他们的MongoDB操作体验。

    nosqlbooster4mongo-7.0.8,MongoDB连接工具

    9. **版本控制**:版本7.0.8可能包含了对新版本MongoDB的支持和兼容性改进,以及修复了一些已知问题,提高了整体稳定性和用户体验。 10. **持续更新与支持**:NosqlBooster团队会不断更新软件,以适应MongoDB的最新...

    NoSQL Manager for MongoDB.rar

    通过使用NoSQL Manager for MongoDB,无论是开发人员还是DBA,都能更加高效地进行MongoDB的日常维护和管理工作,尤其是在处理中文数据时,全中文界面无疑降低了使用门槛,提升了用户体验。如果你正在处理非结构化或...

    mongodb初体验

    MongoDB初体验:深入理解NoSQL数据库的魅力 MongoDB是一种流行的开源、分布式文档数据库,它属于NoSQL数据库的一种。在当今大数据和云计算的时代背景下,MongoDB因其灵活性、高性能和易于扩展性而备受青睐。本文将...

    NoSQL Manager for MongoDB

    总结来说,"NoSQL Manager for MongoDB"是提升MongoDB管理效率和用户体验的重要工具,其丰富的功能覆盖了数据库的日常维护、数据操作和性能监控等多个方面,是MongoDB开发和运维人员的理想选择。

    nosqlbooster4mongo-6.2.10,MongoDB连接工具

    NosqlBooster for MongoDB是一款高效、用户友好的MongoDB管理工具,版本为6.2.10,专为简化数据库操作而设计。在本文中,我们将深入探讨这款工具的功能及其对MongoDB操作的便利性。 首先, NosqlBooster for ...

    nosql安装文件4mongo-6.0.4.rar

    MongoDB是一种流行的NoSQL数据库系统,它以非关系型数据模型为核心,提供了高效、可扩展的数据存储解决方案。...通过安装“nosqlbooster4mongo-6.0.4.exe”文件,你就可以开始体验这个版本带来的所有功能了。

    nosqlbooster4mongo5.2.11,mongoDB连接工具

    通过下载提供的 nosqlbooster4mongo5.2.11.exe 文件,用户可以直接安装并体验这个版本的 NosqlBooster for MongoDB。 总的来说,NosqlBooster for MongoDB 是一款强大的 MongoDB 管理工具,它提供了丰富的功能,...

    nosqlbooster4mongo-5.0.3.rar mongoDB连接工具

    NosqlBooster for MongoDB的5.0.3版本可能包含了对之前版本的改进和修复,比如性能优化、新功能的添加或者用户体验的提升。通过这个工具,开发人员和数据库管理员可以更加便捷地进行MongoDB数据库的日常维护、查询...

    nosqlbooster4mongo-5.1.10.exe.zip

    如果你在使用MongoDB,这款工具无疑会成为你得力的助手,提高你的工作效率并提升开发体验。在下载解压后的“nosqlbooster4mongo-5.1.10.exe”文件,即可安装并开始使用这个优秀的MongoDB客户端工具。

    NoSqlBooster5.1.4 新版

    NoSqlBooster是一款备受推崇的MongoDB数据库管理工具,尤其在升级至5.1.4新版后,其功能和性能得到了显著...通过压缩包中的“nosqlbooster4mongo-5.1.4.exe”文件,用户可以直接安装并体验这款优秀的MongoDB管理工具。

    MongoDB可视化工具

    这两款工具都旨在提供更直观、更高效的MongoDB操作体验,帮助用户快速定位和解决问题,提升开发和运维效率。它们通过图形化的界面使得数据库管理任务变得更加简单,无论是在日常的查询、备份、性能优化,还是在故障...

    nosqlbooster4mongo-5.2.8.zip

    NosqlBooster 5.2.8是该工具的一个版本,提供了一系列增强的功能和优化的用户体验。 NosqlBooster 4Mongo的主要特点包括: 1. **用户友好的界面**:它采用直观的GUI设计,使用户能够轻松地浏览、查询、编辑和管理...

    nosqlbooster4mongo-5.2.11 (1).rar

    Nosqlbooster for MongoDB就是这样一款专为MongoDB设计的可视化管理工具。 Nosqlbooster for MongoDB 5.2.11是该软件的一个较新版本,它允许用户通过友好的图形用户界面(GUI)来管理MongoDB数据库,包括数据浏览...

    mongo-linux,nosqlbooster.zip

    NosqlBooster的5.0.3版本可能包含了一些增强的性能和用户体验改进。使用时,首先需要解压缩文件,然后按照安装指南进行操作,连接到本地或远程MongoDB服务器。 总结来说,这个压缩包为MongoDB在Linux环境中的部署...

Global site tag (gtag.js) - Google Analytics