请先下载下列jar包:

mongo-java-driver-*.jar,junit*.jar,gson-*.jar

import java.net.UnknownHostException;

import java.util.Calendar;

import java.util.Date;

import java.util.HashMap;

import java.util.HashSet;

import java.util.Map;

import java.util.Set;

import com.google.gson.Gson;

import com.mongodb.BasicDBObject;

import com.mongodb.Bytes;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

import com.mongodb.DBObject;

import com.mongodb.Mongo;

import com.mongodb.MongoException;

import com.mongodb.util.JSON;

public class Test {

@org.junit.Test

public void testCRUD() throws UnknownHostException, MongoException {

//创建数据库连接

Mongo mongo = new Mongo("localhost", 27017);

for (String dbname : mongo.getDatabaseNames()) {

System.out.println("dbname==" + dbname);

}

//打开DB

DB db = mongo.getDB("mongodbtest");

//遍历所有集合名字

Set colls = db.getCollectionNames();

for (String string : colls) {

System.out.println(string);

//先删除所有collection

if (!string.equals("system.indexes")) {

db.getCollection(string).drop();

}

}

//取得集合emp(若:emp不存在,mongodb将自动创建该集合)

DBCollection coll = db.getCollection("emp");

//delete all

DBCursor dbCursor = coll.find().addOption(Bytes.QUERYOPTION_NOTIMEOUT);//设置不超时

for (DBObject dbObject : dbCursor) {

coll.remove(dbObject);

}

//create

BasicDBObject doc = new BasicDBObject("name", "test").append("sex", "test").append(

"address",

new BasicDBObject("postcode", "aaaa").append("street", "test")

.append("city", "test2"));

coll.insert(doc);

//retrieve

BasicDBObject docFind = new BasicDBObject("name", "test");

DBObject finResult = (DBObject) coll.findOne(docFind);

System.out.println(finResult);

//update

doc.put("sex", "MALE");

coll.update(finResult, doc);

finResult = coll.findOne(docFind);

System.out.println(finResult);

//删除所有index

coll.dropIndexes();

//创建index

coll.createIndex(new BasicDBObject("name", 1));//1代表升序

//复杂对象

UserData userData = new UserData("jimmy", "123456");

Set pets = new HashSet();

pets.add("cat");

pets.add("dog");

Map favoriteMovies = new HashMap();

favoriteMovies.put("dragons", "Dragons II");

favoriteMovies.put("avator", "Avator I");

userData.setFavoriteMovies(favoriteMovies);

userData.setPets(pets);

userData.setBirthday(getDate(1990, 5, 1));

BasicDBObject objUser = new BasicDBObject("key", "jimmy").append("value",

toDBObject(userData));

coll.insert(objUser);

System.out.println(coll.findOne(objUser));

mongo.close();

mongo = null;

db = null;

coll = null;

doc = null;

dbCursor = null;

System.gc();

}

private DBObject toDBObject(Object obj) {

Gson gson = new Gson();

String json = gson.toJson(obj);

return (DBObject) JSON.parse(json);

}

private Date getDate(int year, int month, int day) {

Calendar calendar = Calendar.getInstance();

calendar.clear();

calendar.set(year, month - 1, day);

return calendar.getTime();

}

}

public class UserData implements Serializable {

private static final long   serialVersionUID = -1458264368996911555L;

private String              userName;

private String              password;

private Set         pets;

private Map favoriteMovies;

private Date                birthday;

public UserData(String userName, String passWord) {

this.userName = userName;

this.password = passWord;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Set getPets() {

return pets;

}

public void setPets(Set pets) {

this.pets = pets;

}

public Map getFavoriteMovies() {

return favoriteMovies;

}

public void setFavoriteMovies(Map favoriteMovies) {

this.favoriteMovies = favoriteMovies;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

}

emp

system.indexes

{ "_id" : { "$oid" : "56696b6e40ad7fee67b4343b"} , "name" : "test" , "sex" : "test" , "address" : { "postcode" : "aaaa" , "street" : "test" , "city" : "test2"}}

{ "_id" : { "$oid" : "56696b6e40ad7fee67b4343b"} , "name" : "test" , "sex" : "MALE" , "address" : { "postcode" : "aaaa" , "street" : "test" , "city" : "test2"}}

{ "_id" : { "$oid" : "56696b6e40ad7fee67b4343c"} , "key" : "jimmy" , "value" : { "userName" : "jimmy" , "password" : "123456" , "pets" : [ "cat" , "dog"] , "favoriteMovies" : { "dragons" : "Dragons II" , "avator" : "Avator I"} , "birthday" : "May 1, 1990 12:00:00 AM"}}

mongodb java set_MongoDB Java常用操作相关推荐

  1. JAVA 8 Stream 常用操作

    Stream 常用操作 allMatch 使用给定的 Predicate 检查 Stream 中的所有元素,全部都通过检测则返回 true,否则 false . System.out.println( ...

  2. Java中Cookie常用操作类(Spring中操作Cookie)

    说明:Cookie下用Key取值没有快速的方法,只能便利循环去取. 技巧:置0则cookie会立即删除,设置-1,负值则会在关闭浏览器后删除.切记一定要增加路径:setPath("/&quo ...

  3. Mongodb数据库命令端常用操作

    数据库基本命令操作 数据库常用命令 1.Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help ...

  4. MongoDB基本概念和常用操作(一)

    基本操作 MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成 MongoDB文档类似于JSON对象,字段值可以包含其他文档.数组.文档数组 安装管理mongodb环 ...

  5. MongoDB基本概念和常用操作(二)

    数据查询 基本查询 方法find():查询 db.集合名称.find({条件文档}) 方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) 方法pretty(): ...

  6. java mongodb条件查询_java 操作mongodb查询条件的常用设置

    java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表: BasicDBList condList = new BasicDBList(); 临时条件对象: BasicDBObject ...

  7. java 操作oracle 源码_java对oracle的常用操作示例源码

    将做工程过程重要的代码片段做个收藏,下面资料是关于java对oracle的常用操作示例的代码. import java.sql.Connection; import java.sql.DriverMa ...

  8. Java中Arrays.toString ()打印二维数组及Array数组的常用操作

    1.Java中Arrays.toString () 已知打印一维数组的API为System.out.println ( Arrays.toString ();,其参数为数组名或数组指针,其支持的数据类 ...

  9. java web定义数组_Java基础之数组--数组常用操作

    3.2一维数组 3.2.1声明数组 数组类型[] 数组名称:int[] username; 或者 数组类型 数组名称[];int username[]; 3.2.2初始化一维数组 一维数组初始化有两种 ...

最新文章

  1. 我想说:mysql 的 join 真的很弱
  2. python从入门到精通学习笔记_Python从入门到精通之基础概念
  3. 机器学习数据集划分-训练集,验证集,测试集
  4. 量子计算入门-第二部分
  5. java opencv yuv_JavaCV与OpenCV的区别和使用中遇到的问题
  6. excel导入 HSSFWorkbook和XSSFWorkbook
  7. mysql 查新格式化_mysql 日期格式化查询
  8. C#:Interval Helper
  9. python工作区是什么_在IPython中保存工作区
  10. ubuntu安装vasp_Ubuntu常用软件的安装
  11. 深度学习——AI领域会议列表(以备准备和更新论文存储使用)
  12. 过cloudflare,使用cfscrape,以及cfscrape挂代理的方式
  13. 2021-04-29【已解决】The server cannot or will not process the request due to something that is perceived
  14. 派生类组合类 计算圆锥体体积
  15. 弘辽科技:淘宝如何提升店铺流量?需要准备什么?
  16. mysql aes源码_MySQL AES_DECRYPT()用法及代码示例
  17. 糖尿病新世界杂志糖尿病新世界杂志社糖尿病新世界编辑部2022年第12期目录
  18. android 热点 连接电脑上网,电脑没有网络,用手机数据线,就能让电脑快速上网...
  19. 基于深度学习的探地雷达图像异常智能判译技术和软件
  20. ubuntu免费下载----百度网盘

热门文章

  1. SAP CRM WebClient UI的cross component navigation跳转
  2. 一个Java快速排序实现的调试
  3. Java Spring研究之MavenSandBox - noHandlerfound debug
  4. why my filter by titleID does not work
  5. 如何在SAP C4C里使用ABSL消费第三方Restful API
  6. ue4缓存位置怎么改_怎么从蓝图节点跳转到C++源码?
  7. windows同时安装python2和3编码_Windows同时安装多个版本,python2和python3,window
  8. c语言点阵字符,点阵的汉字程序
  9. python批量发送邮件_Python批量发送邮件
  10. 组合总和Python解法