MongoDB支持的java数据类型和测试例子
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 } }