这是因为MongoDB中的数据类型与Java中的数据类型不完全一致,MongoDB中只有一种数据类型——BSON(Binary JSON),它包含了Java中的几乎所有数据类型,但是在Java中的数据类型需要转换成对应的BSON数据类型才能正确保存在MongoDB中。

在保存数据之前,需要先将Java中的数据类型转换成对应的BSON数据类型,可以使用MongoDB提供的BSON工具类进行转换,例如:

import org.bson.Document;
import org.bson.types.ObjectId;

Document document = new Document();
document.append("number", 123);
document.append("string", "hello");
document.append("timestamp", new Date());

ObjectId objectId = new ObjectId();
document.append("_id", objectId);

collection.insertOne(document);

在上述代码中,通过Document对象将Java中的数据转换成了对应的BSON数据类型,并使用insertOne()方法将数据保存到MongoDB中。

需要注意的是,在保存数据时需要将Java中的时间戳转换成MongoDB中的日期类型,可以使用new Date()方法将时间戳转换成日期类型,然后在保存到MongoDB中

java 从接口获得了一个json里边有数字有字符串有时间戳但是保存到MongoDB后全变成字符串了

原文地址: https://www.cveoy.top/t/topic/gE7C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录