【发布时间】:2014-09-25 15:46:45
【问题描述】:
假设我有一个对象数组(让我们称之为数组 A),我需要一个查询来在 MongoDB 中找到一个集合,以查找与数组 A 中对象 1 的属性之一匹配的其中一个字段的所有文档,并且数组 A 中同一对象中某个其他属性的另一个字段。
文档不具备数组 A 中的对象所具有的所有属性。
为了让事情清楚......
数组 A 看起来像这样......
[{
id_bus:1,
id_bus_variation:13,
....
},{
id_bus:2,
id_bus_variation:184,
....
},{
id_bus:3,
id_bus_variation:13,
....
}]
我的数据库中的文档包含这两个属性,我需要同时匹配这两个属性。例如,我需要在我的数据库中找到具有id_bus == 1 和id_bus_variation == 13 的文档,以及具有id_bus == 2 和id_bus_variation == 184 但不是具有id_bus == 4 和id_bus_variation == 13 的文档。
我真的不知道如何使用单个查询来做到这一点,我发现的唯一解决方法是遍历数组 A 并为它的每个元素执行一个查询,匹配我需要的所有字段,但这似乎效率不高。
【问题讨论】:
-
我有这个问题,stackoverflow.com/questions/70368089/…,这个数据 $and: [ {"opening_hours.time": {$elemMatch: { "from": {$lte: ISODate("2001-01 -01 03:00:00.000")}}}}, {"opening_hours.time": {$elemMatch: { "to": {$gte: ISODate("2001-01-01 03:00:00.000")} }}} ] 它仍然给我同样的错误结果。