MongoDB游标在Perl中哈希

时间:2017-05-31 21:03:38

标签: mongodb perl perl5.8 database

所以,我正在从MongoDB中检索一些值。我现在find方法返回cursor,延迟加载查询结果。我想将光标存储为哈希,但我可以找到任何方法。当然,你可以迭代光标并自己填充,但我对自动化方式感兴趣。例如,在Python中,您可以执行此操作:myList = list(col.find())将所有游标项目作为列表。

是否有可能在Perl中做类似的事情?

1 个答案:

答案 0 :(得分:1)

当你调用find时,它返回一个cursor object,它将迭代器方法委托给MongoDB::QueryResult。当你在那件事上做next时,它会懒洋洋地一次返回一个文档。该文件已经是完整的数据集。这可能是哈希引用(或者是一个对象,我不知道)。

use Data::Dumper;
while (my $object = $cursor->next) {
    print Dumper $object;
}

如果您想同时使用所有这些,您可以使用all方法获取一个列表,然后您可以将其放入数组中并在方便时使用。这不会按需加载。

my @objects = $cursor->all;