Java 有没有一种方法可以使用SpringWebFlux和MongoDB从手动参考中获取文档?
我正在尝试使用SpringWebFlux创建一个SpringDataMongoDB存储库,用于我的服务器后端。总体而言,我对Spring数据还是很陌生,我正在尝试找出如何仅使用一个GET请求就从手动引用返回文档到我的服务器 例如,假设我的Java 有没有一种方法可以使用SpringWebFlux和MongoDB从手动参考中获取文档?,java,spring,mongodb,spring-data,spring-data-mongodb,Java,Spring,Mongodb,Spring Data,Spring Data Mongodb,我正在尝试使用SpringWebFlux创建一个SpringDataMongoDB存储库,用于我的服务器后端。总体而言,我对Spring数据还是很陌生,我正在尝试找出如何仅使用一个GET请求就从手动引用返回文档到我的服务器 例如,假设我的Person文档具有以下文档结构: { "_id": "123", "person": "Test Person", "address": { "refId": "456", "name": "House" }, "occup
Person
文档具有以下文档结构:
{
"_id": "123",
"person": "Test Person",
"address": {
"refId": "456",
"name": "House"
},
"occupation": "Test occupation"
}
{
"_id": "456",
"street": "Test Street",
"houseNumber": "404"
}
以及我的地址文档的以下结构:
{
"_id": "123",
"person": "Test Person",
"address": {
"refId": "456",
"name": "House"
},
"occupation": "Test occupation"
}
{
"_id": "456",
"street": "Test Street",
"houseNumber": "404"
}
我创建了一个PersonRepository
和AddressRepository
,分别扩展了ReactiveMongoRepository
和ReactiveMongoRepository
。当我想查询个人Person
(s)和Address
(es)时,这非常有用,我已经测试过了,它似乎可以正常工作。我的前端能够向该后端发出GET请求(格式为/person/{id}和/address/{id}),并检索正确的数据。但是,每当我想为特定的人
获取地址时,我需要发出两个GET请求,一个请求获取人
,从中我解析特定地址“refId”,然后将其插入到地址
端点的第二个GET请求中。虽然这是合乎逻辑的,但它是对服务器的额外GET请求,我想知道是否有某种方法来描述我后端的查询,这样我就可以简单地向/person/{id}/address端点发出一个GET请求,该端点将查找具有指定id的person
文档,并从“refId”返回address
文档在Person
中(不是Person
文档的“地址”部分,我想返回实际的地址
文档)
我已经尝试的不多,因为我没有很多想法。因为我使用的是SpringWebFlux,所以我所有的服务器响应都是以发布者的形式(Mono
/Flux
)作为存储库返回的内容,我不确定在将它们作为ServerResponse
对象返回之前如何处理它们
多谢各位