zl程序教程

您现在的位置是:首页 >  后端

当前栏目

MongoDB支持的java数据类型和测试例子

JAVAMongoDB测试 支持 数据类型 例子
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

 }

}