MongoDB支持的java数据类型和测试例子
程序员文章站
2024-02-29 09:24:52
mongodb的java数据类型有:
object ids 自动idregular expressions 正则表达式搜索记录dates/times 时间database...
mongodb的java数据类型有:
object ids 自动id
regular expressions 正则表达式搜索记录
dates/times 时间
database references 数据基础结构
binary data 二进制流
timestamp data 时间标记戳
code data 代码数据
embedded documents 嵌入式文档
arrays 数组类型
详细参考原来英文 http://docs.mongodb.org/ecosystem/drivers/java-types/
以下测试基础的mongodb数据类型。
复制代码 代码如下:
package com.javaer.mongo;
import java.net.unknownhostexception;
import java.util.arraylist;
import java.util.date;
import java.util.regex.pattern;
import org.bson.types.objectid;
import com.mongodb.basicdbobject;
import com.mongodb.basicdbobjectbuilder;
import com.mongodb.db;
import com.mongodb.dbcollection;
import com.mongodb.dbcursor;
import com.mongodb.dbobject;
import com.mongodb.dbref;
import com.mongodb.mongo;
public class javatypes {
/**
* @param args
* @throws unknownhostexception
*/
public static void main(string[] args) throws unknownhostexception {
//基础id,自动增加 结构类似503991d90364b431cdc798e2
objectid id = new objectid();
system.out.println(id);
id = new objectid();
system.out.println(id);
//5039924c0364f4a124555e42
// 5039924c0364f4a124555e43 连续使用,自动增加,否则随机生成
mongo m = new mongo();
db db = m.getdb("yuexiaosheng");
dbcollection coll = db.getcollection("mycollection");
//使用标准库的正则表达式,可以搜索数据里记录。类似mysql中条件 where title like '%name%'
pattern john = pattern.compile(".*?jack*.?",pattern.case_insensitive);
basicdbobject query = new basicdbobject("title", john);
dbcursor cursor = coll.find(query);
try {
while(cursor.hasnext()) {
system.out.println(cursor.next());
}
} finally {
cursor.close();
}
//mongodb中的时间类型
date now = new date();
basicdbobject time = new basicdbobject("ts", now);
coll.save(time);
//插入的记录 { "_id" : objectid("503993b20364129f6625d349"), "ts" : isodate("2012-08-26t03:10:42.146z") }
//mongodb中的数组结构。
arraylist x = new arraylist();
x.add(1);
x.add(2);
x.add(new basicdbobject("foo", "bar"));
x.add(4);
basicdbobject doc = new basicdbobject("x", x);
coll.save(doc);
//插入的记录 { "_id" : objectid("503994500364bf9957b271a6"), "x" : [ 1, 2, { "foo" : "bar" }, 4 ] }
//存储mongodb的数据结构数据到数据库里
dbref addressref = new dbref(db, "foo.bar", id);
dbobject address = addressref.fetch();
dbobject person = basicdbobjectbuilder.start()
.add("name", "fred")
.add("address", addressref)
.get();
coll.save(person);
//插入的数据记录
//{ "_id" : objectid("503995390364fcf1b54905b2"), "name" : "fred", "address" : { "$ref" : "foo.bar", "$id" : objectid("503995390364fcf1b54905af") } }
dbobject fred = coll.findone();
dbref addressobj = (dbref)fred.get("address");
system.out.println(addressobj);
// { "$ref" : "foo.bar", "$id" : "5039965c03648efcd6281311
}
}
上一篇: java之static关键字用法实例解析
下一篇: Java设计模式之桥接模式实例详解