Home  >  Article  >  Java  >  Java data types and test examples supported by MongoDB

Java data types and test examples supported by MongoDB

高洛峰
高洛峰Original
2017-01-22 10:13:591376browse

The java data types of mongodb are:

Object Ids Automatic ID
Regular Expressions Regular expression search records
Dates/Times Time
Database References Data infrastructure
Binary Data Binary stream
Timestamp Data Timestamp
Code Data Code Data
Embedded Documents Embedded Documents
Arrays Array Type

The following test basic mongodb data types.

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

 }

}

For more articles related to java data types and test examples supported by MongoDB, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn