[英]can't get data from mongodb using perl (get undefined value)
我正在尝试使用 perl 从 mongodb 获取数据,但是我得到了变量$people
未定义值
my $client = MongoDB::MongoClient->new(host =>
'mongodb://xxx.xxx.xxx.xxx',port=>27017, username => 'xxxx',
password => 'xxxx');
my $db = $client->get_database("xxx");
my $collection = $db->get_collection("xxx");
my $people = $collection->find_one({"transactionid" => $id});
while (my $p = $people->next) {
print Dumper $p;
}
我想得到这个数据:
{
"_id" : ObjectId("5c453500e2fb4adc98e9fa84"),
"transactionid" : NumberLong(45282),
"transactionbillerid" : NumberLong(43137),
"requesttime" : ISODate("2019-01-21T02:57:04.923Z"),
"requestmessage" : "xxxxxxxx",
"responsetime" : ISODate("2019-01-21T02:57:05.236Z"),
"responsemessage" : "xxx"
}
任何建议,我的代码有问题吗?
我认为您误解了find_one()
返回的值。 名称中有一个重要线索,但find_one()
返回单个记录,而不是迭代器。
显然,我无权访问您的数据,因此我无法确认这一点,但我希望您可以通过运行以下代码获得所需内容:
my $client = MongoDB::MongoClient->new(
host => 'mongodb://xxx.xxx.xxx.xxx',
port => 27017,
username => 'xxxx',
password => 'xxxx',
);
my $db = $client->get_database("xxx");
my $collection = $db->get_collection("xxx");
my $person = $collection->find_one({"transactionid" => $id});
print Dumper $person;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.