2011-12-15 55 views
2
不相容當我運行從 Net::Server繼承一個模塊內的代碼,MongoDB的似乎

不工作:網::服務器使用MongoDB的

use base qw(Net::Server); 

當我把這個代碼,而無需:繼承,它工作正常。

 
Can't locate object method "run_command" via package "MongoDB::Database" at /usr/local/lib/perl5/MongoDB/Connection.pm line 519 
MongoDB::Connection::_get_max_bson_size('MongoDB::Connection=HASH(0x9d48bc8)') called at /usr/local/lib/perl5/MongoDB/Connection.pm line 463 
MongoDB::Connection::BUILD('MongoDB::Connection=HASH(0x9d48bc8)', 'HASH(0x9d48ba8)') called at /opt... 

這裏是發生故障的線路:

$mongo_handle = 
    MongoDB::Connection->new('host' => 'mongodb://' . $host . ':' . $port); 
+0

有時base.pm有問題 - 你可以嘗試安裝父母並將'use base'改爲'use parent',否則改爲'use Net :: Server; BEGIN {unshift @ISA,「Net :: Server」}'? – hobbs

回答

2

這聽起來類似https://jira.mongodb.org/browse/PERL-78。你確定你有最新版本的大多數圖書館?如果您可以聲明您使用的Perl,MongoDB Perl Driver等版本,這將有所幫助。

+0

Perl:v5.10.1,MongoDB Perl模塊:0.45。我看到那篇文章,但我認爲我運行的任何東西都是古老的。 – Eric

+0

怎麼樣:麋?你有嗎? – Nat