【发布时间】:2015-12-22 08:38:06
【问题描述】:
我使用 Eve (flask) 作为 mongodb 的 API 接口。现在我正在尝试通过此界面设置项目的批量查找。这意味着我想批量查找文档。
通常您会为此使用 get。因此,例如,如果您有一个包含字段名称和电话号码的人员的集合,您可以请求端点 /person/less name 更大,并返回包含电话号码的相应文档。
如果你想一次查找多个文档,比如说,按照我们的例子,你需要几个人的电话号码,每个人单独查找会很昂贵,即需要很长时间才能得到电话号码.
您可以使用 ?where={"name" $in ["Pedro", "Juan"]} 之类的方法通过一个获取请求获取两个人的电话号码,这比这样做更有效(=更快)两个获取请求,每个请求一个。但是,此方法的适用性有限,因为 get 请求的最大长度约为 64K (1),这意味着如果我们假设名称长度约为 10-20,则只能以这种方式检索数千个文档人物。
因此,大型查找的自然方法似乎是使用发布请求。但是,据我所知,eve post 界面是用于插入,而不是用于查找(查找)。
我已经使用烧瓶手动实现了一些端点的帖子查找,但是有没有办法为此使用 Eve?直截了当:有没有办法通过发布请求批量查找文档?
【问题讨论】:
-
我不确定我是否理解您想要实现的目标。您会编辑并为您的问题添加一个示例吗?
-
添加了一个例子,干杯。