JAVA 遍历获取MONGO BSON 字段类型

发布于 / 随记 / 0条评论 / Tags: mongo / 7 次浏览

JAVA 遍历MONGO BSON 字段类型,BSON提供如何读取BSOn文档字段类型得方法
引入Mongo 依赖
 <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-async</artifactId>
            <version>3.4.2</version>
        </dependency>
        <!-- Sadly, we need the mongo-java-driver solely to serialize
             Document objects in a sane manner -->
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>3.4.2</version>
        </dependency>
如果不需要连接mongo,只引入如下
  <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>bson</artifactId>
            <version>3.4.2</version>
        </dependency>
遍历文档字段,要借助BsonDocument和BsonValue来获取类型
 BsonDocument document = BsonDocument.parse(mogonDoc);
 MongoColumns column = new MongoColumns();

for(Map.Entry<String,BsonValue> en : document.entrySet()){
  BsonValue value = (BsonValue)en.getValue();
  String type = value.getBsonType().name();
}
BSON示例文档字符串,传入上面方法mogonDoc变量

BSON类型文档请见:https://docs.mongodb.com/manual/reference/bson-types/


{
    "_id" : ObjectId("6168e03a3f2817bf1f25e4fe"),
    "_class" : "com.pingan.lcloud.osp.FamilyInfo",
    "insNo" : "203669",
    "client_id" : "51A2E75F9EF64B638B123D445EB1239",
    "create_date" : ISODate("2021-09-24T01:38:45.202Z"),
    "personal_info" : {
        "client_id" : "51A2E75F9EF64B638B123D445EB1239",
        "name" : "小朱",
        "age" : 30,
        "sex" : "F",
        "birth_date" : "1992-05-30",
        "tel" : "",
        "operate_time" : ISODate("2021-09-20T19:34:03.202Z")
    }
}

    评论区(暂无评论)