大家好,提前谢谢。我在mongoDB中有几个文档,它们的结构如下
在我使用spring boot开发的API web应用程序中,我必须编写以下查询代码。我可以接收一个类型过滤寄存器,它将在数组中包含此电压电平代码(这很容易),但问题是我还可以接收一个voltageLevelCode和一个voltageLevelCode,所以在这种情况下,我必须过滤数组中包含此电压电平代码的文档,以及在此电压电平代码过滤器中包含此类型的文档(但请记住,电压电平内的类型)我一直在尝试编写查询,但我不知道如何动态设置索引来过滤此电压电平内的类型……就像..。{"voltageLevel..types“:"X”}
示例:
public List<MyClassRepresenting> findByFilter(String type,String voltageLevelCode);
{$and: [{'voltageLevel.voltageLevelCode' : ?1 },{'voltageLevel.<HowTogetIndexForSelectingVoltageLevelCode>.types' : ?2}]}
在这种情况下,根据接收到的类型,tensionLevel参数必须根据此tensionLevel中的类型进行过滤
对于另一个查询,我也会遇到同样的情况。在SQL中,等价物是另一个SELECT中的SELECT,用于选择子寄存器,但不知道在mongo中如何做到这一点。
技术
发布于 2021-04-27 08:38:30
在stackoverflow上提问时,包含你已经尝试过的内容总是很有趣的。
我认为您需要的是一个简单的$elemMatch:
db.mycoll.find(
{ voltageLevel: { $elemMatch: { voltageLevelCode: "MT", types: "E" } } }
)
https://stackoverflow.com/questions/67278507
复制相似问题