gpt4 book ai didi

spring-data - 如何为复杂的文档结构编写 MongoTemplate 查询和标准?

转载 作者:行者123 更新时间:2023-12-02 08:17:20 28 4
gpt4 key购买 nike

我是 MongoTemplate 的新手。我想定义一个 org.springframework.data.mongodb.core.query.Query 和 org.springframework.data.mongodb.core.query.Criteria 来从具有复杂文档结构的集合中获取数据。这是文件

{
"_id" : {
"SId" : "ANBS",
"AssetId" : "ANBS_BS21",
"ST" : NumberLong(1479114000) //StartDate
},
"ET" : NumberLong(1479117599) //EndDate,
"TS" : [
NumberLong(1479114000),
NumberLong(1479114600),
NumberLong(1479115200),
NumberLong(1479115800),
NumberLong(1479116400),
NumberLong(1479117000)
],
"Tags" : {
"ActivePower" : {
"Avg" : [
16427.575,
16991.01,
16708.2016666667,
16488.335,
17230.1933333333,
15996.9783333333
]
},
"WindSpeed" : {
"Avg" : [
64.4266666666667,
60.8583333333333,
65.275,
62.8766666666667,
63.2166666666667,
63.14
]
}
}

我想获取给定 TimeRange(StartTime 和 EndTime)的所有文档,WHERE AssetId=? AND startTime >= ST AND endTime <= ET。

谁能帮我解决这个问题?我不想要 mongo 查询,但我想要基于 MongoTemplate 的查询和条件。提前致谢。

最佳答案

我有一个解决方案,非常简单。发布此答案以便它可以帮助其他人。

Query query = new Query(Criteria 
.where("_id.SId").is(siteId)
.and("_id.AssetId").is(assetId)
.and("_id.ST").gte(startTimeRange)
.and("ET").lte(endTimeRange));
return mongoTemplate.find(query, MyCollection.class, "mycollection");

关于spring-data - 如何为复杂的文档结构编写 MongoTemplate 查询和标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40843120/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com