java MongoDB 增加数据的四种方式

摘要: 前面实现了java 连接 MongoDB 数据库实现简单的增删改查的例子。作为入门确实足够了,但事实上还有很多其他的方法来做这些操作,比如增加数据,至少就有四种方法:1. 利用 BasicDBObject 增加文档2. 利用 BasicDBObjectBuilder 增加文档3. 利用Map(HashMap)  增加文档4. 利用json 字符串方式增加文档

前面实现了java 连接 MongoDB 数据库实现简单的增删改查的例子。作为入门确实足够了,但事实上还有很多其他的方法来做这些操作,比如增加数据,至少就有四种方法:
1. 利用 BasicDBObject 增加文档
2. 利用 BasicDBObjectBuilder 增加文档
3. 利用Map(HashMap) 增加文档
4. 利用json 字符串方式增加文档

假设要增加的文档模型如下:

database" : "yihaomen",
	"table" : "hosting",
	"detail" : 
		{
			records : 99,
			index : "aliyun",
			active : "true"
		}
	}

下面的java代码,详细介绍了如何利用这四种方式来增加数据:
package com.yihaomen.mongodb.insert;

import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;

import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.util.JSON;

 public class App {
	
	public static void main(String[] args) throws UnknownHostException {
		Mongo mongo = new Mongo("localhost", 27017);
		DB db = mongo.getDB("yihaomen");	 
		DBCollection collection = db.getCollection("myinsert");
		//insertByBasicDBObject(collection);
		//insertByBasicDBObjectBuilder(collection);
		//insertByHashMap(collection);
		insertByJsonString(collection);
	}
	
	public static void insertByBasicDBObject(DBCollection collection){
		BasicDBObject document = new BasicDBObject();
		document.put("database", "yihaomen");
		document.put("table", "hosting");
		
		BasicDBObject documentDetail = new BasicDBObject();
		documentDetail.put("records", 99);
		documentDetail.put("index", "aliyun");
		documentDetail.put("active", "true");	 
		document.put("detail", documentDetail);	
		
		collection.insert(document);
	}
	
	public static void insertByBasicDBObjectBuilder(DBCollection collection){
		BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()
			.add("database", "yihaomen")
			.add("table", "hosting");
		 
		BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()
			.add("records", 99)
			.add("index", "aliyun")
			.add("active", "true");
		 
		documentBuilder.add("detail", documentBuilderDetail.get());		 
		collection.insert(documentBuilder.get());
	}
	
	public static void insertByHashMap(DBCollection collection){
		Map documentMap = new HashMap();
		documentMap.put("database", "yihaomen");
		documentMap.put("table", "hosting");
	 
		Map documentMapDetail = new HashMap();
		documentMapDetail.put("records", 99);
		documentMapDetail.put("index", "aliyun");
		documentMapDetail.put("active", "true");
	 
		documentMap.put("detail", documentMapDetail);	 
		collection.insert(new BasicDBObject(documentMap));
	}
	
	public static void insertByJsonString(DBCollection collection){
		String json = "{'database' : 'yihaomen','table' : 'hosting'," +
			"'detail' : {'records' : 99, 'index' : 'aliyun', 'active' : 'true'}}}";			 
		DBObject dbObject = (DBObject)JSON.parse(json);			 
		collection.insert(dbObject);
	}
}



测试,启动 mongod 进程,运行测试java 程序,插入数据。再启动mongo 进程,查看插入的数据如下:

上一篇: 在Windows 下安装配置 MongoDB
下一篇: Java 程序保存图片,文件到 MongoDB 数据库
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号