在mongo`中运行多个查询

时间:2012-11-14 19:33:21

标签: python mongodb pymongo database

我有一个集合,希望得到一组满足一系列条件的结果。我理解Mongo不允许你使用连接,所以我需要运行单独的查询并将结果加入到单个响应中。

但是可以将单独查询的结果连接在一起以获得预期的输出。

是否有任何基本示例我可以看到查询结果连接在一起。

谢谢

例如,我可以加入这两个查询,以便得到两个查询的结果:

coll.find({"coordinates.type" : "Point"},{"coordinates" :1}, tailable = True, timeout = False)

coll.find({"place.bounding_box.type" : "Polygon"},{"place.bounding_box.coordinates" : 1}, tailable = True, timeout = False)

1 个答案:

答案 0 :(得分:2)

在您的特定示例中,您无需单独运行这些查询。您可以像这样加入结果:

coll.find(
  { $or : [ 
      { "coordinates.type" : "Point" }, 
      { "place.bounding_box.type" : "Polygon" } 
    ] 
  },
  {"coordinates" :1, "place.bounding_box.coordinates" : 1}
)

您还可以使用$和/ $elementMatch代替$或