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

  

MongoDB 支持的 Java 数据类型与 Java 原生支持的数据类型相似,同时,MongoDB 内有部分自己的数据类型,下面详细介绍 MongoDB 支持的 Java 数据类型以及相关示例。

MongoDB 支持的 Java 原生数据类型

MongoDB 支持 Java 的原生数据类型,包括:整型、长整型、双精度浮点型、字符型、布尔型和日期型。这些类型在 MongoDB 中均可用作文档的键值,示例代码如下:

package com.example.mongodb;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;

import java.net.UnknownHostException;
import java.util.Date;

public class MongoDBDataTypeTest {
    public static void main(String[] args) throws UnknownHostException {
        MongoClient mongoClient = new MongoClient();

        DB db = mongoClient.getDB("test");
        DBCollection coll = db.getCollection("test_collection");

        BasicDBObject doc = new BasicDBObject("name", "MongoDB")
                .append("type", "database")
                .append("count", 1)
                .append("versions", new String[]{"v3.2", "v3.0", "v2.6"})
                .append("dt", new Date())
                .append("javaInt", 1)
                .append("javaLong", 100L)
                .append("javaDouble", 3.1415)
                .append("javaBoolean", true)
                .append("javaChar", 'a');
        coll.insert(doc);

        mongoClient.close();
    }
}

MongoDB 支持的自定义数据类型

MongoDB 支持一些自定义的数据类型,例如 ObjectId(文档的唯一标识符)、RegularExpression(正则表达式类型)、JavaScript(JavaScript 代码类型)、Symbol(符号类型)、Binary Data(二进制数据类型)、Code with Scope(带作用域的代码类型)等类型。示例如下:

package com.example.mongodb;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;
import org.bson.types.ObjectId;

import java.net.UnknownHostException;
import java.util.regex.Pattern;

public class MongoDBCustomDataTypeTest {
    public static void main(String[] args) throws UnknownHostException {
        MongoClient mongoClient = new MongoClient();

        DB db = mongoClient.getDB("test");
        DBCollection coll = db.getCollection("test_collection");

        BasicDBObject doc = new BasicDBObject("name", "MongoDB")
                .append("type", "database")
                .append("count", 1)
                .append("_id", new ObjectId())
                .append("regex", new BasicDBObject("$regex", "^M"))
                .append("js", new BasicDBObject("$code", "function() { return 'hello, world!'; }"))
                .append("symbol", new BasicDBObject("$symbol", "test_symbol"))
                .append("binary", new byte[]{0, 1, 2, 3, 4})
                .append("codeWithScope", new BasicDBObject("$code", "function() { return x + y; }").append("scope", new BasicDBObject("x", 2).append("y", 3)));
        coll.insert(doc);

        mongoClient.close();
    }
}

上述示例中演示了 MongoDB 的 ObjectId、RegularExpression、JavaScript、Symbol、Binary Data 和 Code with Scope 类型的使用方法。使用这些自定义数据类型可以更方便地进行文档的存储和操作。

相关文章