使用循环在mongoDB中查询

时间:2011-09-24 01:25:13

标签: mysql mongodb

我正在考虑使用mongodb作为一些mysql表的替代品,这些表需要大量查询(通常在while / for循环中)来获取所有数据。

Mongo似乎很合适,因为我可以直接在控制台上运行javascript并布置所有查询并接收数据。我的问题是,在mongo中执行此操作是否更快/更有意义。

我在Mysql中的典型循环试图查询树(有点像文件结构)。例如,我们从id 6开始,然后我们查询其父级是id 5,然后查询其父级等等,直到我们找到以id 0结尾的父级。这可能会占用大量查询而我担心mysql将在此下弃牌。

很抱歉,如果我解释得不好:P

1 个答案:

答案 0 :(得分:0)

这取决于您如何存储树结构。我认为问题不在于mongo与mysql,而在于你如何处理树存储。

听起来您将结构存储为tupples列表(id,parent_id)。您不应该为每次迭代返回数据库,而是应该使用一个查询来获取所有tupple并使用简单的树构建算法来构建结构(如果使用的属性多于tupple,则过滤它)。

Mongo无法解决您的问题,因为如果您将每个树节点存储为文档,那么您最终会遇到与现在相同的情况。