`
hawkist
  • 浏览: 35945 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

mongoDb基本java运用

阅读更多
test.sql
/*Drop Collections if exist */
db.menu.drop();

/* Initial Menu */
db.menu.insert({'name':'Roles','age':'12', 'url':'/account/getRoleList.do', 'group':'Account Managment','sequence':'01-01'});
db.menu.insert({'name':'Users','age':'22', 'url':'/account/getAccountList.do', 'group':'Account Managment','sequence':'01-02'});
db.menu.insert({'name':'Message Sending', 'age':'33','url':'/message/showSendMessage.do', 'group':'Messaging','sequence':'02-01'});
db.menu.insert({'name':'Message List', 'age':'15','url':'/message/messageList.do', 'group':'Messaging','sequence':'02-02'});

MongoDbTest
package com.cpkf.dao.mongo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;

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 MongoDbTest {
	public static void test(){
		Mongo mongo = null;
		DB db = null;
		InputStream is = null;
		BufferedReader br = null;
		StringBuffer sb = new StringBuffer();
		String temp = "";
		DBCursor dbCursor = null;
		try {
			//创建数据库连接
			mongo = new Mongo("localhost",27017);
			db = mongo.getDB("test");
			
			//添加用户并验证用户权限
			char[] pwd = {'r','o','o','t'};
			db.addUser("root",pwd);
			boolean flag = db.authenticate("root", pwd);
			System.out.println(flag);
			System.out.println("==================");
			
			//初始化数据库
//			is = MongoDbTest.class.getResourceAsStream("/conf/test.sql");
//			br = new BufferedReader(new InputStreamReader(is,"utf-8"));
//			while((temp = br.readLine()) != null){
//				sb.append(temp);
//			}
//			db.eval(sb.toString());
			
			//查看数据库列表
			for(String s : mongo.getDatabaseNames()){
				System.out.println(s);
			}
			System.out.println("==================");
			
			//删除数据库
			mongo.dropDatabase("admin");
			
			//查看当前库下数据集列表
			Set<String> collections = db.getCollectionNames();
			for(String coll : collections){
				System.out.println(coll);
			}
			System.out.println("==================");
			
			//得到一个数据集的索引列表
			DBCollection menuCollection = db.getCollection("menu");
			List<DBObject> indexList = menuCollection.getIndexInfo();
			for(DBObject object : indexList){
				System.out.println(object);
			}
			System.out.println("==================");
			
			//查询数据集第一条记录
			DBObject firstDbObject = menuCollection.findOne();
			System.out.println(firstDbObject);
			System.out.println("==================");
			
			//查询数据集所有记录
			List<DBObject> menuList = menuCollection.find().toArray();
			for(DBObject o : menuList){
				System.out.println(o);
			}
			System.out.println("==================");
			//以游标的形式
			dbCursor = menuCollection.find();
			while(dbCursor.hasNext()){
				System.out.println(dbCursor.next());
			}
			System.out.println("==================");
			
			//查询数据量
			System.out.println(menuCollection.find().count());
			System.out.println(menuCollection.find(new BasicDBObject("name","Roles")).count());
			System.out.println("==================");
			
			//带条件查询
			BasicDBObject bo = new BasicDBObject();
			bo.put("name", "Roles");
			dbCursor = menuCollection.find(bo);
			while(dbCursor.hasNext()){
				System.out.println(dbCursor.next());
			}
			System.out.println("==================");
			
			//分页查询-skip-跳过几条数据-limit-限制几条数据
			dbCursor = menuCollection.find().skip(2).limit(2);
			while(dbCursor.hasNext()){
				System.out.println(dbCursor.next());
			}
			System.out.println("==================");
			
			//比较查询"$gt": 大于 "$gte":大于等于 "$lt": 小于 "$lte":小于等于 "$in": 包含 (支持数字比较,不支持字符串比较)
			BasicDBObject basicDBObject = new BasicDBObject();
			basicDBObject.put("age", new BasicDBObject("$gt",20).append("$lt", 30));
			dbCursor = menuCollection.find(basicDBObject);
			while(dbCursor.hasNext()){
				System.out.println(dbCursor.next());
			}
			System.out.println("==================");
			
			//插入数据
			List<DBObject> list = new ArrayList<DBObject>();
			for(int i = 0;i < 40;i ++){
				BasicDBObject dbs = new BasicDBObject();
				dbs.put("name", "hj" + i);
				dbs.put("age", i);
				BasicDBObject info = new BasicDBObject();
				info.put("x", i);
				info.put("y", i + 1);
				dbs.put("info", info);
				list.add(dbs);
			}
			//创建数据集,该语句重复执行抛出异常
//			db.createCollection("infoList",list.get(0));
			DBCollection infoCollection = db.getCollection("infoList");
//			infoCollection.insert(list);
			dbCursor = infoCollection.find();
			while(dbCursor.hasNext()){
				System.out.println(dbCursor.next());
			}
			System.out.println("==================");
			
			//正则表达式匹配查询CASE_INSENSITIVE-不区分大小写的匹配
			Pattern pattern = Pattern.compile("us",Pattern.CASE_INSENSITIVE);
			BasicDBObject pattDB = new BasicDBObject("name",pattern);
			dbCursor = menuCollection.find(pattDB);
			while(dbCursor.hasNext()){
				System.out.println(dbCursor.next());
			}
			System.out.println("==================");
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		MongoDbTest.test();
	}
}

分享到:
评论

相关推荐

    java连接mongodb的jar包

    在本文中,我们将深入探讨如何使用Java连接MongoDB,涉及的知识点包括MongoDB Java驱动程序的安装、配置,以及基本的连接和操作数据库的方法。 首先,我们来看“java连接mongodb的jar包”。这个“mongodbjar”通常...

    java 操作mongodb 增删改查

    在Java编程环境中,MongoDB是一个广泛使用的文档型数据库,它以JSON格式存储数据,提供了高性能、高可用性和可扩展性。本教程将详细介绍如何...通过不断实践和深入学习,你将能熟练地运用Java与MongoDB进行数据交互。

    MongoDB Java操作大全 源代码 实例

    MongoDB是一种流行的、高性能的NoSQL数据库,特别适合处理大量非...本资源包中的源代码实例将涵盖以上所有操作,通过实际运行这些示例,开发者可以更好地理解MongoDB的Java操作,从而在项目中更加熟练地运用MongoDB。

    mongodb-java-course-m101j:MongoDB 大学的“MongoDB for Java Developers”[M101J] 课程

    通过M101J课程的学习,Java开发者不仅能够掌握MongoDB的基本操作,还能了解到如何在实际开发中整合MongoDB,提升应用程序的性能和可扩展性。课程的实践部分会提供具体的示例和练习,帮助你巩固理论知识,并将所学...

    mongodb-driver-3.9.1.zip_MongoDB

    MongoDB是一款开源、分布式、高性能的NoSQL数据库,...通过理解和熟练运用这个驱动,你可以充分利用MongoDB的强大功能,如文档型数据模型、灵活性、高性能和分布式特性,为你的Java应用构建高效的数据存储和处理方案。

    mongoDB实现BOM表多试图转换

    Java作为广泛使用的开发语言,拥有丰富的MongoDB驱动程序,如MongoDB Java Driver,使得我们可以方便地操作MongoDB数据库。利用这些驱动,我们可以编写Java代码来读取BOM数据,执行转换逻辑,然后更新或插入新的视图...

    mongodb总结

    MongoDB 提供了丰富的API支持创建、读取、更新和删除操作,这些操作可以通过MongoDB Shell、驱动程序或语言绑定(如Python、Java、Node.js等)来执行。 9. GridFS: 对于大文件的存储,MongoDB 提供了GridFS规范...

    java操作mongodb增删改查

    本文将详细介绍如何使用Java对MongoDB执行基本的CRUD(创建、读取、更新、删除)操作,并探讨一些高级查询技巧。 #### 二、环境搭建与基础配置 在开始之前,确保已经安装了MongoDB服务并正确启动。接下来,我们需要...

    MongoDB数据库-163 李兴华培训笔记.rar

    总的来说,李兴华老师的MongoDB培训笔记涵盖了MongoDB的基本概念、操作方法、高可用性和大数据处理策略,以及如何在Java环境中进行集成。这些内容对于初学者来说是很好的起点,对于有经验的开发者来说也是巩固和深化...

    mongodb例子

    数据库、集合和文档是MongoDB中的基本概念。数据库是存储数据的地方,集合相当于关系数据库中的表,而文档则是集合中的记录,由键值对组成。 在这个“mongodbtest”压缩包里,可能包含了一个简单的MongoDB数据库...

    JAVA_MongoDB面试专题.pdf

    在面试中,掌握关于MongoDB的基本概念、特性和与传统RDBMS的区别是至关重要的。 1. NoSQL数据库指的是非关系型数据库,它与RDBMS(关系型数据库管理系统)的最大差异在于数据结构。RDBMS使用表格和列的形式存储数据...

    spring data mongodb代码参考

    总的来说,"spring data mongodb代码参考"涵盖了从基础配置到高级功能的方方面面,帮助开发者更好地理解和运用Spring Data MongoDB,实现高效、灵活的数据操作。通过src目录下的源码和lib目录中的库文件,可以更深入...

    MongoDB_参考手册

    此份“MongoDB参考手册”旨在为开发者提供全面深入的指导,涵盖从入门到精通的各个阶段,是学习与运用MongoDB不可或缺的资源。 #### 知识点概览 1. **开发周期**:介绍了MongoDB的开发流程,包括创建与删除索引、...

    express + MongoDB实现学生管理系统(mongoose).zip

    毕业设计通常要求学生综合运用所学知识,独立完成一个完整的软件系统,展示其解决问题的能力和技术水平。 在文件列表中,"demo_01"可能代表项目的第一阶段或示例,通常包括源代码、配置文件、数据库脚本等。为了...

    MongoDB权威指南 中文版高清PDF

    对于开发人员,书中还介绍了各种驱动程序的使用,如MongoDB的Python、Java和Node.js驱动,帮助开发者在不同语言环境中高效地操作MongoDB。 除此之外,书中还涉及了备份和恢复策略,包括 mongodump 和 mongorestore ...

    mongoDB说明文档

    MongoDB支持多种编程语言,提供了丰富的驱动程序库,包括但不限于Java、Node.js、Ruby等,便于不同语言背景的开发者使用MongoDB。 ### **19. MongoDB管理指南(Mongo Administration Guide)** MongoDB管理指南涵盖...

    mongodb教程

    MongoDB 数据库是存储数据的基本单位,类似于关系型数据库中的数据库。集合是MongoDB中的表,但不需预定义结构,可以动态调整字段。每个集合包含多个文档,文档是JSON格式的数据对象,具有键值对结构。 2. 文档和...

    mogo-java-driver-3.4.2.jar包

    MongoDB Java驱动程序是用于与...通过理解和熟练运用这些资源,开发者可以构建高效、可靠的应用程序,充分利用MongoDB的特性。在实际开发中,还应注意不断学习和跟踪MongoDB的新版本和更新,以保持最佳的性能和兼容性。

    MongoDB 编程-大数据实验六

    内容概要:本文档是一份关于 Python 和 Java 编程语言操作 MongoDB 数据库的技术实验报告,涉及数据库的基本操作如创建数据库和集合、插入数据、查询、更新、删除以及排序等,并提供了一个使用 MongoDB 统计发帖活跃...

Global site tag (gtag.js) - Google Analytics