`

【转】java操作mongo简单实例

 
阅读更多
package maven.demo.test;

import java.util.ArrayList;
import java.util.List;

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

public class MongoDB {
	private static void print(String str){
		System.out.println(str);
	}
	public static void main(String[] args) {
		try {
			//创建连接
			Mongo m=new Mongo("127.0.0.1", 27017);
			//得到数据库
			DB db=m.getDB("test");
			//得到所有数据库
//			List<String> colls=m.getDatabaseNames();
//			for(String str:colls){
//				System.out.println(str); 
//			}
			
//			//得到所有的集合(表)
//			for(String collection:db.getCollectionNames()){
//				System.out.println(collection); 
//			}
			
			//删除一个数据库
			//m.dropDatabase("sun");
			
			//得到sun表
			DBCollection coll=db.getCollection("things");
			
			//查看一个表的索引
//			for(DBObject index:coll.getIndexInfo()){
//				System.out.println(index); 
//			}
			
//			DBObject myDoc=coll.findOne();
//			System.out.println(myDoc); 
			
			//添加
//			BasicDBObject doc=new BasicDBObject();
//			doc.put("name", "sunshan");
//			doc.put("sex", "男");
//			doc.put("age", 22);
			//coll.insert(doc);

			//删除
			//coll.remove(doc);
			
//			BasicDBObject doc1=new BasicDBObject();
//			doc1.put("i", 0);
//			doc1.put("j", "foo");
//			BasicDBObject doc2=new BasicDBObject();
//			doc2.put("hello", "world");
//			doc1.put("doc2", doc2);
//			coll.insert(doc1);
			
			//修改
//			BasicDBObject doc3=new BasicDBObject();
//			doc3.put("x", 6);
//			BasicDBObject doc4=new BasicDBObject();
//			doc4.put("x", 1);
//			coll.update(doc3, doc4,true,false);
			//如果数据库不存在就添加 |多条修改 false只修改第一天,true如果有多条就不修改
			
			//条件查询
			//System.out.println(coll.find(doc4));
			
			//coll.findAndRemove(doc4);
			
//			//批量插入
//			List<DBObject> datas=new ArrayList<DBObject>();
//			for(int i=0;i<10;i++){
//				BasicDBObject bd=new BasicDBObject();
//				bd.put("name", "data");
//				bd.append("age", i);
//				datas.add(bd);
//			}
//			coll.insert(datas);
			
			//添加
//		    BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start();
//			documentBuilder.add("database", "mkyongDB");
//			documentBuilder.add("table", "hosting");
//			BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start();
//			documentBuilderDetail.add("records", "99");
//			documentBuilderDetail.add("index", "vps_index1");
//			documentBuilderDetail.add("active", "true");
//			documentBuilder.add("detail", documentBuilderDetail.get());
//			coll.insert(documentBuilder.get());
			
			//添加
//			Map<Object,Object> map=new HashMap<Object,Object>();
//			map.put("a", 1);
//			map.put("b", "b");
//			coll.insert(new BasicDBObject(map));
			
			//添加
//			String json ="{'1' : '1','2' : '2',"+"'11' : {'1' : 1, '2' : '2', '3' : '3'}}";
//			DBObject dbobject=(DBObject)JSON.parse(json);
//			coll.insert(dbobject);
			
			//更新
//			BasicDBObject bdo=new BasicDBObject();
//			bdo.put("x", 11);
//			coll.update(new BasicDBObject().append("x", 0), bdo);
			
			//更新
//			BasicDBObject bdo=new BasicDBObject().append("$inc", new BasicDBObject().append("x", 12));
//			coll.update(new BasicDBObject().append("x", 11), bdo);
			
			//更新 
			//如果不使用$set 直接是 age则所有的都会更新
			//根据age为9条件把name:data修改为 name:sun
//			BasicDBObject bdo=new BasicDBObject().append("$set", new BasicDBObject().append("name", "sunshan"));
//			coll.update(new BasicDBObject().append("age", 9), bdo);
			
			//更新 
			//根据name为data条件把age:批量修改为 age:age
//			BasicDBObject bdo=new BasicDBObject().append("$set", new BasicDBObject().append("age", "age"));
//			coll.update(new BasicDBObject().append("name", "data"), bdo,false, true);
			
			//查询age=1
//			print("find:"+coll.find(new BasicDBObject("age", 1)).toArray());
			//查询age<=1
//			print("find: "+coll.find(new BasicDBObject("age", new BasicDBObject("$lte", 1))).toArray());  
			//查询age>=1
//			print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject("$gte", 1))).toArray());
			//查询age!=1
//     		print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject("$ne", 1))).toArray());
			//查询age=1,2,3
//			print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.IN ,new int[]{1,2,3}))).toArray());
			//查询age!=1,2,3
//			print("find: "+coll.find(new BasicDBObject("age" ,new BasicDBObject(QueryOperators.NIN ,new int[]{1,2,3}))).toArray());

//			print("find: "+coll.find(new BasicDBObject("age" ,new BasicDBObject(QueryOperators.EXISTS ,true))).toArray());
			//查询age属性
//			print("find: "+coll.find(null ,new BasicDBObject("age" ,true)).toArray());
			
//			List<DBObject> list=coll.find().toArray();
//			for(Object obj:list){
//				System.out.println(obj); 
//			}
			
			//true查询出来存在的  /false 查询出来不存在的
			//print(""+coll.find(new BasicDBObject("y",new BasicDBObject(QueryOperators.EXISTS,false))).toArray());
			
//			DBObject dbc=new BasicDBObject();
//			dbc.put("name", 1111);
//			List<DBObject> list=new ArrayList<DBObject>();
//			list.add(dbc);
//			System.out.println(coll.insert(list).getN()); 
				
//			//查询部分数据块
//			DBCursor cursor=coll.find().skip(1);
//			while(cursor.hasNext()){
//				System.out.println(cursor.next()); 
//			}

//			DBCursor cur=coll.find(); //DBCursor cur=coll.find().limit(2); 
//			while(cur.hasNext()){
//				System.out.println(cur.next());  
//			}
			//System.out.println(cur.getCursorId()+" "+cur.count()+" "+JSON.serialize(cur));   
			
			//条件查询
			BasicDBObject doc5=new BasicDBObject();
			doc5.put("$gt", 1);
			doc5.put("$lt", 3);
		    print("find 21<y<23:"+coll.find(new BasicDBObject("y", doc5)).toArray()); 
//			BasicDBObject doc5=new BasicDBObject();
//			doc5.put("$gt", 1);
//			doc5.put("$lt", 3);
//			BasicDBObject doc6=new BasicDBObject();
//			doc6.put("x", doc5);
//			System.out.println(coll.find(doc6));

} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

 

分享到:
评论

相关推荐

    java操作mongo的小例子

    在提供的压缩包文件“mongoTest”中,可能包含了演示这些操作的完整Java代码示例,或者是一个运行环境,如一个简单的Java应用程序,用于展示如何连接MongoDB、执行查询以及执行其他数据库操作。你可以解压并运行这个...

    java操作 mongo DB 数据库例子

    这篇博客"java操作mongo DB数据库例子"提供了使用Java与MongoDB交互的示例代码,对于学习如何在Java应用中集成MongoDB非常有帮助。MongoDB的主要优势包括灵活的数据模型、高性能以及易于扩展性。 首先,我们需要...

    mongoTemplate工具类Dao层方法封装.zip

    MongoTemplate是Spring Data MongoDB框架中的一个核心组件,用于在Java应用中方便地操作MongoDB数据库。这个资源包“mongoTemplate工具类Dao层方法封装.zip”显然提供了两种版本的MongoTemplate操作集合的代码示例,...

    MongoDB Java Driver 简单操作

    ### MongoDB Java Driver 简单操作详解 #### 一、简介 MongoDB 是一款非常流行的文档型数据库系统,因其灵活性和高性能而被广泛应用于多种场景之中。为了方便开发者使用 Java 进行开发,MongoDB 提供了官方的 Java ...

    java 执行cmd命令及mongodb脚本

    在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作系统级别的命令。这两种方法都能实现与操作系统的交互,但各自有其特点。 1. 使用Runtime类: ```java Runtime runtime = Runtime.getRuntime(); ...

    java操作mongodb存储文件实例

    将一系列图片文件存储到MongoDB中 java操作mongodb存储文件

    java mongo API

    它允许开发者在Java应用中执行CRUD(创建、读取、更新、删除)操作以及更复杂的数据库任务。MongoDB是一款NoSQL数据库,以其灵活性、高性能和强大的数据模型而受到广泛欢迎。 在使用Java MongoDB API之前,你需要先...

    mongo-java-driver-3.2.2.jar.zip

    MongoDB是一个流行的开源、文档型数据库系统,而`mongo-java-driver`是官方提供的Java API,允许开发者在Java应用程序中执行各种数据库操作,如读取、写入、查询等。 在本例中,我们讨论的是`mongo-java-driver`的...

    mongo-java-driver-3.4.3,java连接mongodb的jar包驱动包

    mongo-java-driver-3.4.3.jar 是 MongoDB 官方为 Java 开发者提供的 Java 驱动程序的一...这个 JAR 文件包含了与 MongoDB 数据库进行交互所需的类和接口,允许 Java 应用程序连接到 MongoDB 实例并执行各种数据库操作。

    java操作mongoDB实现文件上传预览打包下载

    对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与MongoDB交互,实现文件的上传、下载、预览以及打包下载等功能。 首先,我们需要在Java项目中引入MongoDB的驱动库,通常是...

    Jongo-用Java实现像Mongoshell一样的查询

    这个库的目标是简化Java开发者与MongoDB之间的交互,通过提供一个直观的API,使得查询和操作数据变得更加简单。本文将深入探讨Jongo的核心特性、如何安装与使用,以及它在实际开发中的应用。 ### Jongo核心特性 1....

    mongo-java-driver最新jar.zip

    mongo-java-driver3.0以上jar压缩包大全 try { //1.连接池相关选项配置 MongoClientOptions options=MongoClientOptions.builder() .connectionsPerHost(poolSize) .minConnectionsPerHost(minpoolsize) ...

    经过改造的mongo-java-driver-2.14.3.jar.zip

    在这个特定的场景中,我们讨论的是一个经过改造的`mongo-java-driver-2.14.3.jar.zip`文件,它被优化以适应在Kettle(Pentaho Data Integration)环境中使用,特别是与包含用户认证的MongoDB实例进行交互。...

    Mongo Java jar

    为了在Java应用中操作MongoDB,开发者需要一个适配器或驱动,这就是Mongo Java Driver的角色。 Mongo Java Driver提供了与MongoDB服务器通信所需的接口和类,使得开发者能够通过编写Java代码来执行查询、插入、更新...

    mongo-java-driver.zip

    在“mongo-java-driver.zip”这个压缩包中,主要包含了一个名为“mongo-java-driver.jar”的文件,它是Java驱动程序的二进制库。这个JAR文件包含了所有必要的类和资源,使得Java开发者能够在他们的项目中集成MongoDB...

    mongo-2.6.5.jar

    在Java应用中,使用"mongo-2.6.5.jar"可以实现对MongoDB数据库的CRUD(创建、读取、更新、删除)操作以及更多高级功能。首先,你需要将此jar包添加到项目的类路径中,以便在代码中引用MongoDB的相关API。这可以通过...

    java操作MongoDB数据库代码实例

    该rar包中包括MOngoDB数据库操作基本的增删改查,以及在CMD命令行中怎么配置MOngodb和增删改查,还有就是连接mongoDB的jar包和详细的操作文档,本来想上传NOde.js来着,可是只能上传60兆,只能放弃了,不过这些已经...

    MongoDB可视化客户端工具和Java开发所需mongo-2.8.0.jar

    在本文中,我们将深入探讨两个与MongoDB相关的主题:MongoDB的可视化客户端工具以及Java开发中使用的mongo-2.8.0.jar库。 首先,MongoDB可视化客户端工具是用于管理和操作MongoDB数据库的图形界面应用。这些工具为...

    MongoDB Java API 中文

    值得注意的是,`Mongo` 实例实际上代表了一个连接池,即使在多线程环境中,一个 `Mongo` 实例也足以满足需求。 #### 四、认证 如果启用了数据库认证,可以通过以下方式验证用户: ```java boolean auth = db....

    mongodb java测试用例

    本测试用例着重展示了如何在Java环境中操作MongoDB,涵盖了基本的数据操作,包括查询、插入、更新和删除。 首先,我们需要在项目中引入MongoDB的Java驱动程序依赖。如果你使用的是Maven,可以在pom.xml文件中添加...

Global site tag (gtag.js) - Google Analytics