• 技术文章 >Java >java教程

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

    高洛峰高洛峰2017-01-22 10:13:59原创632
    mongodb的java数据类型有:

    Object Ids 自动ID
    Regular Expressions 正则表达式搜索记录
    Dates/Times 时间
    Database References 数据基础结构
    Binary Data 二进制流
    Timestamp Data 时间标记戳
    Code Data 代码数据
    Embedded Documents 嵌入式文档
    Arrays 数组类型

    以下测试基础的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
    
     }
    
    }

    更多MongoDB支持的java数据类型和测试例子相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:MongoDB java
    上一篇:Java编程中void方法的学习教程 下一篇:Java中八种基本数据类型的默认值
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一文带你认识Java栈和队列• 一文掌握Java8新特性Stream流的概念和使用• Java线程学习之并发编程知识点• 完全掌握Java中的抽象类和接口• Java中的set集合如何理解
    1/1

    PHP中文网