当前位置: 首页 > 知识库问答 >
问题:

将嵌入的文档_id保存为ObjectId,但将其显示为字符串

范轶
2023-03-14

我想在Review类中将_id保存为ObjectId,但当我查询它时,我希望它显示为字符串,而不是{“timestamp”、“machineIdentifier”等。)

以下是我的课程:

@Document
public class Catalog {
    ....
    private List<Review> reviews;
    ....
}

public class Review {
    @Id
    private ObjectId _id = new ObjectId();
    private String userid;
    private String username;
    private String reviewstring;
}

mongodb中的类评论是一个嵌入式文档。

当我用_id作为字符串查询某个评论时,它返回null。如何在查询期间将ObjectId显示为字符串,但仍保持为ObjectId?

共有1个答案

段坚
2023-03-14

@jsonSeriize(使用=ToStringSerializer.class)

 类似资料:
  • 我有一个对象,它的父类可以设置_id字段,也可以不设置。 在这种情况下,没有设置_id字段,我将一个对象传递给 收集insertOne(对象) 通常情况下,mongo会为未指定的_id生成一个ObjectId(),但由于某种原因,每当_id由父类指定且未设置时,它会生成一个id,bug会将id保存为数据库中的字符串,而不是ObjectId。 我所经历的 {“name”:“name”} 预期: {“

  • 我有以下收藏: 我试图将电影(及其所有细节)与用户状态和对该电影的感觉相匹配,并使用聚合: 其中返回: 我希望的结果是匹配user_status中的第一部电影,以获得最终结果: 我想我的下一步是: 但是它不起作用——不确定这个$addFields是否正确,我知道的一个问题是,我的第一个_id是一个ObjectId,第二个似乎是一个字符串。

  • 我正在做一个rest api来在mongo数据库和web应用程序之间交换数据。这些数据是json格式的。 我在更新文档时遇到一个麻烦: 事实上,在我的JSON中,doc的id存储为字符串,并反序列化为字符串。而在Mongo中则存储为ObjectID。这就解释了为什么mongo会引发错误。 在mongo:_id:ObjectId('51051FD25B442A5849000001') 在JSON:_

  • 我想将pandas数据帧保存为csv文件,问题是要将np.array转换为字符串。 我想将数组保存为数组,但在文档中找不到任何有用的内容。 解数独=[123345894324321321](整数列表) n_splits=3(整数) 最终结果应该是: [123 345 894 324 321 321] 1,[123 345 894 324 321 321] 3,[123 345 894 324 32

  • 我试图导入一个对象到蒙戈。但是当我试图使用对象的值作为_id它失败了。错误,即:[CastError: Cast to ObjectID在路径_id]的值为11563195失败,以及稍后的[错误:文档在保存之前必须有_id] 我做错了什么? 以下是使用的模式: 非常感谢您的时间和帮助。

  • 我将按照https://Quarkus.io/guides/rest-data-panache和https://Quarkus.io/guides/MongoDB-panache教程使用Quarkus Panache MongoDB实现一个简单的MongoDB实体和资源。 以下是我目前掌握的情况: 运行时,我可以通过调用