`

mongodb在Java环境下简单使用

 
阅读更多

mongodb在Java环境下简单使用,简单记录,简单增删查改。

配置环境:

mongodb 3.0.6 + window7 64bit

使用maven配置 jar管理

<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.9.4</version>
  <scope>test</scope>
</dependency>

<dependency>
  <groupId>org.mongodb</groupId>
  <artifactId>mongo-java-driver</artifactId>
  <version>3.0.2</version>
</dependency>

 
windows下面直接解压缩:

 

D:\data\mongdb\mongodb-win32-x86_64-3.0.6\bin>mongod.exe --dbpath D:\data\mongdb\mongodb-win32-x86_64-3.0.6\db     (如果dbpathh有空格之类的使用双引号) 

 

直接上代码,非常简单的代码,都是类似操作,基本大同小异:

package com.***.common.dbtest.mongo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.bson.Document;
import org.testng.annotations.Test;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.UpdateOptions;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;

/**
 * simple query database (mongodb) 
 * @author dennis zhao
 * @Date 2015-08-05
 * @27202787@qq.com
 * {@link http://www.runoob.com/mongodb/mongodb-tutorial.html}
 * enviorment mongodb 3.0.6 window7 64bit
 */
public class MongoDbSimpleQuery {

	/**
	 * get database object
	 * @return
	 */

	@SuppressWarnings("resource")
	private MongoDatabase getDb() {
		MongoClient mongo = new MongoClient(host, port);
		MongoDatabase db = mongo.getDatabase("abo");
		return db;

	}

	/**
	 * get table data (as collection)
	 * @return
	 */

	@SuppressWarnings("rawtypes")
	private MongoCollection getCollection() {
		MongoDatabase db = getDb();
		MongoCollection<Document> table = db.getCollection("user_info");
		return table;

	}
	
	@SuppressWarnings({ "unchecked", "rawtypes" })
	@Test
	public void initData() {
//	    add list collection vale
		List<Document> list = new ArrayList<Document>();
		Document user1 = new Document("name", "abo").append("age", 35);
		Document user2 = new Document("name", "dennis").append("age", 36);
		Document user3 = new Document("name", "aaa").append("age", 17);
		Document user4 = new Document("name", "bbb").append("age", 18);
		Document user5 = new Document("name", "ccc").append("age", 24).append("sex", "M");
		Document user6 = new Document("name", "ddd").append("age", 26);
		Document user7 = new Document("name", "eee").append("age", 16);
		Document user8 = new Document("name", "clys").append("age", 40);
		Document user9 = new Document("name", "myboole").append("age", 27).append("sex", "F");
		Document user10 = new Document("name", "琪琪").append("age", 24);
		Document user11 = new Document("name", "哈宝").append("age", 28);
		Document user12 = new Document("name", "蓝莓").append("age", 57);
	    list.add(user1);list.add(user2);list.add(user3);list.add(user4);list.add(user5);list.add(user6);
	    list.add(user7);list.add(user8);list.add(user9);list.add(user10);list.add(user11);list.add(user12);
	    MongoCollection table = getCollection();
	    table.insertMany(list);
	    queryAll(table);
	}
	
	
	/**
	 * add one data
	 */
	@Test
	public void add() {
	     MongoCollection table = getCollection();
	     Document document = new Document();
	     document.put("name", "newData");
	     document.put("age", 20);
	     document.put("systemDate", new Date());
	     table.insertOne(document);
	 }
	
	/**
	 * update data by query
	 */
	@Test
	public void update() {
		MongoCollection table = getCollection();
	     Document query = new Document();
	     query.put("name", "newData");
	     BasicDBObject newDoc = new BasicDBObject();
	     newDoc.put("name", "updateData");
	     newDoc.put("age", 28);
	     UpdateOptions options = new UpdateOptions();
	     options.upsert(true);
	     BasicDBObject updateObj = new BasicDBObject();
	     updateObj.put("$set", newDoc);
	     UpdateResult result = table.updateMany(query, updateObj, options);
	     System.out.println(result.toString());
	     queryAll(table);
	}
	
	/**
	 * delete data
	 */
	@Test
	public void delete() {
		MongoCollection table = getCollection();
		Document document = new Document();
		document.put("name", "updateData");
		DeleteResult result = table.deleteMany(document);
	}

	
//	@Test
	private void queryAll(MongoCollection table) {
		System.out.println("Query user all data.");
//		 MongoCollection table = getCollection();
		 MongoCursor cur = table.find().iterator();
	    while (cur.hasNext()) {
	        System.out.println(cur.next());
	    }
	}

	/**
	 * 
	 * find one data(by sort)
	 */
	@Test
	public void findOne() {
		MongoCollection table = getCollection();
		BasicDBObject dbObject = new BasicDBObject();
		// mongodb order by age(-1 desc,1 asc)
		dbObject.put("age", 1);
		FindIterable iterate = table.find().sort(dbObject).limit(1);
		System.out.println(iterate.iterator().tryNext());
	}

	/**
	 * 
	 * mongodb paging query (by sort)
	 * @param pageIndex
	 *            
	 */
	private void findPage(int pageIndex) {
		int pageSize = 3;
		MongoCollection table = getCollection();
		BasicDBObject dbObject = new BasicDBObject();
		dbObject.put("age", -1);
		MongoCursor cursor = table.find().sort(dbObject).limit(pageSize)
				.skip((pageIndex - 1) * pageSize).iterator();
		System.out.println("current page index :" + pageIndex);
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	@Test
	public void findPage() {
		findPage(1);
		findPage(2);
	}
	
	
	/**
	 * 
	 * equal query
	 */
	@Test
	public void equalQuery() {
		MongoCollection table = getCollection();
		BasicDBObject dbObject = new BasicDBObject();
		dbObject.put("age", 24);
		MongoCursor cursor = table.find(dbObject).iterator();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	/**
	 * 
	 * in collections query
	 */

	@Test
	public void findInCollections() {
		List<Integer> list = new ArrayList<Integer>(4);
		list.add(20);
		list.add(28);
		list.add(25);
		list.add(13);
		MongoCollection table = getCollection();
		BasicDBObject dbObject = new BasicDBObject();
		dbObject.put("age", new BasicDBObject("$in", list));
		MongoCursor cursor = table.find(dbObject).iterator();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	/**
	 * 
	 * between A and B query
	 */

	@Test
	public void findBeteenAnd() {
		MongoCollection table = getCollection();
		BasicDBObject dbObject = new BasicDBObject();
		dbObject.put("age", new BasicDBObject("$gt", 15).append("$lt", 26));
		MongoCursor cursor = table.find(dbObject).iterator();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	/**
	 * 
	 * not equal query
	 */
	@Test
	public void findNotEqual() {
		MongoCollection table = getCollection();
		BasicDBObject dbObject = new BasicDBObject();
		dbObject.put("age", new BasicDBObject("$ne", 17));
		MongoCursor cursor = table.find(dbObject).iterator();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	/**
	 * 
	 * multi condition query
	 */
	@Test
	public void findMultiQuery() {
		MongoCollection table = getCollection();
		List<BasicDBObject> objects = new ArrayList<BasicDBObject>();
		objects.add(new BasicDBObject("age", new BasicDBObject("$ne", 25)));
		objects.add(new BasicDBObject("name", "abo"));
		BasicDBObject query = new BasicDBObject();
		query.put("$and", objects);
		MongoCursor cursor = table.find(query).iterator();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	/**
	 * 
	 * regular pattern query
	 */
	@Test
	public void findRegexQuery() {
		MongoCollection table = getCollection();
		BasicDBObject regexQuery = new BasicDBObject();
		regexQuery.put("name", new BasicDBObject("$regex", "[a-z]*e$"));
		// System.out.println(regexQuery.toString());
		MongoCursor cursor = table.find(regexQuery).iterator();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	public static final int port = 27017;
	public static final String host = "127.0.0.1";
	//mongodb-win32-x86_64-3.0.6\bin>mongod.exe --dbpath D:\data\mongdb\mongodb-win32-x86_64-3.0.6\db  (windows start mongodb)
}

 

 

分享到:
评论

相关推荐

    java中mongodb使用环境详细配置

    Java 中 MongoDB 使用环境详细配置是指在 Windows 平台(WinXP)上安装、运行、安装 Windows 服务的笔记,以作备忘。下面是一些重要的知识点: 1. MongoDB 的下载和安装 MongoDB 提供了多种操作系统的版本,包括 ...

    mongodb_java_2.6_API

    在Java编程环境中,与MongoDB交互主要通过其提供的Java驱动程序。本篇将深入探讨"mongodb_java_2.6_API",即MongoDB 2.6版本的Java驱动程序API,了解如何使用Java进行MongoDB的开发。 1. **MongoDB Java驱动程序...

    java连接mongodb的jar包

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

    MongoDB-Java驱动API

    在Java开发环境中,MongoDB提供了Java驱动API,使得Java程序员可以方便地与MongoDB进行交互。本文档将深入探讨如何利用Java驱动API来操作MongoDB数据库。 一、MongoDB Java驱动API简介 MongoDB的Java驱动程序是Java...

    MongoDB入门教程 + 架构简析 + java使用MongoDB的简单程序

    本教程将引导你逐步了解MongoDB的基础知识,深入其架构,并展示如何在Java环境中使用MongoDB。 首先,我们从"MongoDB入门教程"开始。MongoDB采用的是键值对存储方式,数据以JSON格式(BSON)存储,这使得数据的读写...

    MongoDB Java API 中文

    ### MongoDB Java API 使用详解 #### 一、Java 驱动简介与一致性 MongoDB 的 Java 驱动是线程安全的,适用于大多数应用程序场景。通常情况下,只需要创建一个 `Mongo` 实例即可,因为它内部包含了一个连接池(默认...

    JAVA操作MongoDB简单增删改查

    在Java编程环境中,MongoDB是一个常用的NoSQL数据库系统,它以JSON格式存储数据,提供了高性能、高可用性和可扩展性。本教程将详细介绍如何使用Java与MongoDB进行交互,包括基本的增删改查(CRUD)操作。首先,我们...

    mongodb驱动java版

    在Java开发环境中,为了与MongoDB进行交互,我们通常会使用官方提供的Java驱动程序。本篇将深入探讨“MongoDB驱动Java版”,即mongodb-java-driver,版本为2.11.2。 MongoDB Java驱动程序是Java开发者与MongoDB...

    java 操作mongodb

    通过以上步骤,初学者可以了解并开始在 Java 环境下操作 MongoDB。实际应用中,还应该考虑连接池、事务管理、索引、查询优化等更高级的话题。学习更多关于 MongoDB 的 Java 驱动和 MongoDB 的其他特性的详细信息,...

    基于java的mongodb实例,代码demo

    MongoDB是一种流行的开源、分布式文档型数据库,常用于构建现代应用程序,因其灵活性、高性能和易于扩展性而受到广泛欢迎。...通过理解和实践这些示例,你可以更好地掌握如何在Java环境中操作MongoDB数据库。

    java 连接mongodb的操作

    在Java环境中,我们通常使用MongoDB的Java驱动程序来实现这种连接。本文将深入探讨如何使用Java API连接MongoDB,并执行基本的操作。 首先,确保已经在项目中引入了MongoDB的Java驱动程序。如果使用Maven,可以在`...

    通过java向mongodb中插入数据

    【描述】: 本指南将详细介绍如何在Linux环境下安装MongoDB,并通过Java进行数据插入操作。我们将涵盖MongoDB的Linux安装、MongoVUE客户端的使用以及Java API与MongoDB的交互。 【标签】: "java", "mongodb" **一、...

    mongoDB的java基础教程

    在Java环境中,要操作MongoDB,需要在项目中包含驱动jar包。示例代码引用了驱动程序中的QuickTour.java文件。 在快速入门部分,教程首先演示了如何连接到MongoDB数据库。使用Java驱动连接MongoDB非常简单,需要包括...

    mongodb-java驱动,内含3个jar包和一个JAVA测试类

    4. **MongoDBJDBC.java**:这是一个测试类,可能包含了一个简单的示例,演示如何使用上述jar包连接到MongoDB数据库,执行查询或写入操作。通常,它会展示如何创建MongoClient实例,获取数据库引用,然后操作集合。这...

    mongodb java 简单操作 win32 安装步骤

    2. **连接MongoDB**:在Java代码中,使用`MongoClients.create()`方法建立到MongoDB服务器的连接。例如: ```java MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); ``` 3. **选择...

    java基于jsoup+mongodb的简单爬虫入门程序

    **Java基于Jsoup+MongoDB的简单爬虫入门程序** 在现代互联网环境中,数据的获取与分析变得至关重要,而爬虫技术就是实现这一目标的重要工具。本教程将介绍如何使用Java编程语言,结合Jsoup库进行网页抓取,并利用...

    mongodb java 调用例子

    本文档主要介绍如何在Java环境中使用MongoDB进行数据库操作的基本方法。通过一个简单的Java程序,我们将会了解到如何连接MongoDB服务器、创建数据库、插入文档、查询文档以及删除文档等基本功能。 #### 二、环境...

    mongodb的java 实现

    在本篇文章中,我们将深入探讨如何使用Java对MongoDB进行基本的操作,包括连接数据库、插入数据、查询数据、更新数据以及删除数据等核心功能。 #### 二、连接MongoDB数据库 在Java中,通常使用`com.mongodb.Mongo`...

    MongoDBjava驱动源码程序

    MongoDB Java驱动是Java开发者与MongoDB数据库交互的主要工具,它是MongoDB官方提供的一款开源库,使得在Java应用程序中执行CRUD(创建、读取、更新、删除)操作变得简单。MongoDB Java驱动源码程序提供了深入理解其...

    java+spring 5.0.8 mvc + mybatis + mongodb + mysql 架构环境搭建

    在Java应用中,通常使用MongoDB Java驱动程序进行连接和操作。它支持文档型数据模型,提供高性能、高可用性和可扩展性。 4. **MySQL**: MySQL是流行的开源关系型数据库管理系统,适合处理结构化数据。在Spring MVC...

Global site tag (gtag.js) - Google Analytics