6

我阅读了http://api.mongodb.org/perl/current/MongoDB/Examples.html并且似乎只是 mongoDB 在 Perl 上的文档。如何在 perl 中从 mongoDB 获取查询结果。让我们说成哈希。到目前为止,我已成功连接到数据库。我设法在集合中插入。现在我如何发出选择查询并将其返回的数据转换为哈希或类似的东西?

更新:

Example of my data
{
 "_id" : ObjectId("asdhgajsdghajgh"),
 "country" : "USA"
 "city" : "Boston"
}

{
 "_id" : ObjectId("asdhgajsdghajgh"),
 "country" : "USA"
 "city" : "Seattle"
}

{
 "_id" : ObjectId("asdhgajsdghajgh"),
 "country" : "Canada"
 "city" : "Calgary"
}

My code

my $cursor = $my_collection
    ->find({ country => 1 }) 
    ;
while (my $row = $cursor->next) {
    print "$row\n";
}

此代码不会产生任何输出。我想基本上遍历整个集合并逐个文档阅读。不知道我做错了什么。我使用了上面的代码。我将 $cur->next 更改为 $cursor->next 我猜这是一个错字。到目前为止,我感谢所有答案。

4

1 回答 1

10

那不是官方文档。前往 CPAN:

迭代结果与 DBI 方式非常相似:

use Data::Printer;
use MongoDB;

# no query is performed on initialization!
my $cursor = $collection
    ->find({ active => 1, country => 'Canada' }) # filter "active" records from Canada
    ->sort({ stamp => -1 }) # order by "stamp" attribute, desc.
    ->limit(1000);          # first 1000 records

# query & iterate
while (my $row = $cur->next) {
    # it is 'p', from Data::Printer!
    p $row;
}
于 2013-01-15T23:34:48.670 回答