MongoDB支持的java数据类型和测试例子
2023-06-13 09:15:27 时间
mongodb的java数据类型有:
ObjectIds自动ID
RegularExpressions正则表达式搜索记录
Dates/Times时间
DatabaseReferences数据基础结构
BinaryData二进制流
TimestampData时间标记戳
CodeData代码数据
EmbeddedDocuments嵌入式文档
Arrays数组类型
详细参考原来英文http://docs.mongodb.org/ecosystem/drivers/java-types/
以下测试基础的mongodb数据类型。
packagecom.javaer.mongo;
importjava.net.UnknownHostException;
importjava.util.ArrayList;
importjava.util.Date;
importjava.util.regex.Pattern;
importorg.bson.types.ObjectId;
importcom.mongodb.BasicDBObject;
importcom.mongodb.BasicDBObjectBuilder;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.DBObject;
importcom.mongodb.DBRef;
importcom.mongodb.Mongo;
publicclassJavaTypes{
/**
*@paramargs
*@throwsUnknownHostException
*/
publicstaticvoidmain(String[]args)throwsUnknownHostException{
//基础ID,自动增加 结构类似503991d90364b431cdc798e2
ObjectIdid=newObjectId();
System.out.println(id);
id=newObjectId();
System.out.println(id);
//5039924c0364f4a124555e42
//5039924c0364f4a124555e43 连续使用,自动增加,否则随机生成
Mongom=newMongo();
DBdb=m.getDB("yuexiaosheng");
DBCollectioncoll=db.getCollection("mycollection");
//使用标准库的正则表达式,可以搜索数据里记录。类似mysql中条件wheretitlelike"%name%"
Patternjohn=Pattern.compile(".*?jack*.?",Pattern.CASE_INSENSITIVE);
BasicDBObjectquery=newBasicDBObject("title",john);
DBCursorcursor=coll.find(query);
try{
while(cursor.hasNext()){
System.out.println(cursor.next());
}
}finally{
cursor.close();
}
//mongodb中的时间类型
Datenow=newDate();
BasicDBObjecttime=newBasicDBObject("ts",now);
coll.save(time);
//插入的记录{"_id":ObjectId("503993b20364129f6625d349"),"ts":ISODate("2012-08-26T03:10:42.146Z")}
//mongodb中的数组结构。
ArrayListx=newArrayList();
x.add(1);
x.add(2);
x.add(newBasicDBObject("foo","bar"));
x.add(4);
BasicDBObjectdoc=newBasicDBObject("x",x);
coll.save(doc);
//插入的记录 {"_id":ObjectId("503994500364bf9957b271a6"),"x":[1,2,{"foo":"bar"},4]}
//存储mongodb的数据结构数据到数据库里
DBRefaddressRef=newDBRef(db,"foo.bar",id);
DBObjectaddress=addressRef.fetch();
DBObjectperson=BasicDBObjectBuilder.start()
.add("name","Fred")
.add("address",addressRef)
.get();
coll.save(person);
//插入的数据记录
//{"_id":ObjectId("503995390364fcf1b54905b2"),"name":"Fred","address":{"$ref":"foo.bar","$id":ObjectId("503995390364fcf1b54905af")}}
DBObjectfred=coll.findOne();
DBRefaddressObj=(DBRef)fred.get("address");
System.out.println(addressObj);
//{"$ref":"foo.bar","$id":"5039965c03648efcd6281311
}
}
相关文章
- db4o java,db4o Java版性能测试评估
- 【说站】Java数组的静态初始化实现
- java的栈内存和堆内存_Java本地方法栈
- java字符串练习题2、反向输出英文字符串
- MongoDB系列教程(六):java操作mongodb实例
- java 检测 Java 是否运行在64bit 的JVM上详解编程语言
- Java学习笔记之八JavaBean中布尔类型使用注意事项详解编程语言
- 新手进阶:从Java开发到Linux系统架构(java转linux)
- MongoDB参数优化:简单而有效的方法(mongodb参数优化)
- MongoDB分布式部署:最佳实践(mongodb分布式部署)
- 元素移除处理Redis中Java中过期元素的移除(redisjava过期)
- 策略使用Java管理Redis过期策略(redisjava过期)
- MongoDB的压力测试:提升性能的关键(mongodb压力测试)
- 时间java操作Redis实现过期时间设置(redisjava过期)
- 策略使用Redis和Java实现有效的过期策略(redisjava过期)
- MongoDB数据模型设计指南(mongodb模式设计)
- 集部署MongoDB群集部署:深入探索(mongodb群)
- 开启图片无限存储:MongoDB海量图片管理(海量图片mongodb)
- Exploring the Power of Java with MongoDB for Enhanced Data Management(java与mongodb)
- Using Java to Work with MongoDB: A Guide for Developers(java操作mongodb)
- Java线程中sleep和wait的区别详细介绍
- Java中的数组排序方式(快速排序、冒泡排序、选择排序)