如何在MongoDB中的两个数组中搜索值

时间:2015-05-18 14:05:22

标签: arrays mongodb find

我在MongoDB中有一些数据,数据结构就像

{"a":{"b":[1,2,3,4,5],"c":[a,b,c,d,e]}}

1--->a
2--->b
3--->c
4--->d
5--->e

我希望左边得到正确的部分值 比如搜索b by 2

我该怎么做? 非常感谢你

1 个答案:

答案 0 :(得分:1)

我建议修改您的结构以便能够进行所需的查询。我建议的结构如下:

{
   a: [
         {b: 1, c: "a"},
         {b: 2, c: "b"},
               .
               .
               .
      ]
}

然后获得b值,您就可以获得c一个:

db.yourCollection.find({"a.b": "your_b_value"})
根据提问作者的要求

更新

要按范围进行查询,请执行以下查询:

db.yourCollection.find({"a.b": {$gte: 400.0}, "a.b": {$lte: 400.3}})