使用 java 在 Micronaut 中将 MongoDb ObjectId _id 更改为字符串

Posted

技术标签:

【中文标题】使用 java 在 Micronaut 中将 MongoDb ObjectId _id 更改为字符串【英文标题】:Change MongoDb ObjectId _id to string in Micronaut using java 【发布时间】:2021-03-18 02:15:39 【问题描述】:

我有下面的 Pojo 类的 mongo 实体

public class Product 
    @BsonProperty("_id")
    @BsonId
    private ObjectId id;
    private String name;
    private float price;
    private String description;

当我按照以下代码获取 mongo 结果时

var item = Flowable.fromPublisher(this.repository.getCollection("product", Product.class).find()).blockingIterable();

id id 映射类似这样的东西

但是,在数据库中,id 是这样的

如何以正确的方式映射此 id,我正在使用带有 java 15 的 Micronaut 框架

【问题讨论】:

docs.mongodb.com/manual/reference/bson-types/#objectid 在我看来是正确的。如果你想达到同样的效果,我想你应该试试:javadoc.io/doc/org.mongodb/bson/2.7.2/org/bson/types/… value.toString() 对我有用。 【参考方案1】:

你可以添加简单的getter:

@JsonGetter
public String getObjectId() 
  return id.toString();

【讨论】:

以上是关于使用 java 在 Micronaut 中将 MongoDb ObjectId _id 更改为字符串的主要内容,如果未能解决你的问题,请参考以下文章

在 GCP 上运行基于 Java 的 API 后端(Spring Boot、Micronaut、Quarkus)最经济有效的方法是啥?

如何为 graphql-java-servlet 和 Micronaut 控制器配置 GraphQL servlet 端点?

Micronaut 教程:如何使用基于 JVM 的框架构建微服务?

Micronaut 微服务中的 CORS

sh 在MO4中将MOV转换为MP4 /转换文件mov

在 Java Spring Thymeleaf 中将变量呈现为 HTML