mongodb java set_MongoDB Java常用操作
请先下载下列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常用操作相关推荐
- JAVA 8 Stream 常用操作
Stream 常用操作 allMatch 使用给定的 Predicate 检查 Stream 中的所有元素,全部都通过检测则返回 true,否则 false . System.out.println( ...
- Java中Cookie常用操作类(Spring中操作Cookie)
说明:Cookie下用Key取值没有快速的方法,只能便利循环去取. 技巧:置0则cookie会立即删除,设置-1,负值则会在关闭浏览器后删除.切记一定要增加路径:setPath("/&quo ...
- Mongodb数据库命令端常用操作
数据库基本命令操作 数据库常用命令 1.Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help ...
- MongoDB基本概念和常用操作(一)
基本操作 MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成 MongoDB文档类似于JSON对象,字段值可以包含其他文档.数组.文档数组 安装管理mongodb环 ...
- MongoDB基本概念和常用操作(二)
数据查询 基本查询 方法find():查询 db.集合名称.find({条件文档}) 方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) 方法pretty(): ...
- java mongodb条件查询_java 操作mongodb查询条件的常用设置
java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表: BasicDBList condList = new BasicDBList(); 临时条件对象: BasicDBObject ...
- java 操作oracle 源码_java对oracle的常用操作示例源码
将做工程过程重要的代码片段做个收藏,下面资料是关于java对oracle的常用操作示例的代码. import java.sql.Connection; import java.sql.DriverMa ...
- Java中Arrays.toString ()打印二维数组及Array数组的常用操作
1.Java中Arrays.toString () 已知打印一维数组的API为System.out.println ( Arrays.toString ();,其参数为数组名或数组指针,其支持的数据类 ...
- java web定义数组_Java基础之数组--数组常用操作
3.2一维数组 3.2.1声明数组 数组类型[] 数组名称:int[] username; 或者 数组类型 数组名称[];int username[]; 3.2.2初始化一维数组 一维数组初始化有两种 ...
最新文章
- 我想说:mysql 的 join 真的很弱
- python从入门到精通学习笔记_Python从入门到精通之基础概念
- 机器学习数据集划分-训练集,验证集,测试集
- 量子计算入门-第二部分
- java opencv yuv_JavaCV与OpenCV的区别和使用中遇到的问题
- excel导入 HSSFWorkbook和XSSFWorkbook
- mysql 查新格式化_mysql 日期格式化查询
- C#:Interval Helper
- python工作区是什么_在IPython中保存工作区
- ubuntu安装vasp_Ubuntu常用软件的安装
- 深度学习——AI领域会议列表(以备准备和更新论文存储使用)
- 过cloudflare,使用cfscrape,以及cfscrape挂代理的方式
- 2021-04-29【已解决】The server cannot or will not process the request due to something that is perceived
- 派生类组合类 计算圆锥体体积
- 弘辽科技:淘宝如何提升店铺流量?需要准备什么?
- mysql aes源码_MySQL AES_DECRYPT()用法及代码示例
- 糖尿病新世界杂志糖尿病新世界杂志社糖尿病新世界编辑部2022年第12期目录
- android 热点 连接电脑上网,电脑没有网络,用手机数据线,就能让电脑快速上网...
- 基于深度学习的探地雷达图像异常智能判译技术和软件
- ubuntu免费下载----百度网盘
热门文章
- SAP CRM WebClient UI的cross component navigation跳转
- 一个Java快速排序实现的调试
- Java Spring研究之MavenSandBox - noHandlerfound debug
- why my filter by titleID does not work
- 如何在SAP C4C里使用ABSL消费第三方Restful API
- ue4缓存位置怎么改_怎么从蓝图节点跳转到C++源码?
- windows同时安装python2和3编码_Windows同时安装多个版本,python2和python3,window
- c语言点阵字符,点阵的汉字程序
- python批量发送邮件_Python批量发送邮件
- 组合总和Python解法