繁体   English   中英

MongoDb spring boot jpa @Aggregation _id反序列化问题

[英]MongoDb spring boot jpa @Aggregation _id deserialization problem

下面的聚合总是产生看起来像这样的 _id。 "_id": { "timestamp": 1675104059, "date": "2023-01-30T18:40:59.000+00:00" },我需要这样: "_id": "63d80f2ddf20b2268a986dbf"

@Aggregation(pipeline = {"{'$match': {'userId': '?0'}}","{'$project': {'allEventsOfUser': 1}}","{'$unwind': {'path': '$allEventsOfUser'}}","{'$match': {'allEventsOfUser.date': {'$gte': ?1, '$lte': ?2}}}"}) List<?> findByUserIdAndDateRange(String name, Date dateStart, Date dateEnd);

我不明白为什么聚合会产生不同的结果。 我已经尝试了 JsonIgnore 的所有变体,它在添加到字段时什么都不做,也没有添加到 setter 或 getter。 有人可以帮我吗,它搞砸了我的整个更新流程,我需要实际的 id 而不是一些时髦的无用的 object 在我的情况下。

public class EventItem { @Id public String _id;

它与聚合有关,但我是 mongodb 的新手,我不知道如何阻止它。 非常感谢任何帮助的人!

我找到了答案,我不知道如何编辑我自己的帖子,所以任何人都坚持这个,请阅读并节省您的时间,您需要指定 id 类型。 @Field(targetType = FieldType;STRING) public String id,我不知道为什么这会破坏 @Aggregation 注释。 相同的 api 使用不同的查询(如查找全部)没有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM