首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phalcon MongoDB

Phalcon MongoDB
EN

Stack Overflow用户
提问于 2017-07-05 17:24:20
回答 1查看 765关注 0票数 1

php7.0Phalcon 3.2MongoDB 3.2.14

我想连接到MongoDB,但在Phalcon文档中,我只想通过MongoClient()连接并使用它。我用的是php7.0,MongoClient()已经被弃用了。如何正确使用\MongoDB\Driver\Manager()和Phalcon?在services.php中,我写道:

代码语言:javascript
复制
/**
* MongoDB connection
*/
$di->set( "mongo", function () {
       $config = $this->getConfig();

        $db_string = sprintf( 'mongodb://%s:%s/%s', $config->mongodb->host, $config->mongodb->port, $config->mongodb->database );

        if( isset( $config->mongodb->user ) AND isset( $config->mongodb->password ) ) {
            $db_string = sprintf( 'mongodb://%s:%s@%s:%s/%s',
                $config->mongodb->user,
                (string)$config->mongodb->password,
                $config->mongodb->host,
                (string)$config->mongodb->port,
                $config->mongodb->database );
       }

        try {
            return new \MongoDB\Driver\Manager( $db_string );
        } catch (MongoConnectionException $e) {
            die( 'Failed to connect to MongoDB '.$e->getMessage() );
        }
    },
    true
);

它起作用了。但在模型中存在错误。在app/models/User.php中,我写道:

代码语言:javascript
复制
use Phalcon\Mvc\Collection;

class User extends Collection
{
    public function initialize()
    {
        $this->setSource('users');
    }
}

在控制器中:

代码语言:javascript
复制
class IndexController extends ControllerBase
{
    public function indexAction()
    {
        echo User::count();
    }
}

在浏览器中,我有以下内容:

代码语言:javascript
复制
Call to undefined method ::selectcollection()
#0 [internal function]: Phalcon\Mvc\Collection::_getGroupResultset(Array, Object(User), Object(MongoDB\Driver\Manager))
#1 /var/www/testing/app/controllers/IndexController.php(8): Phalcon\Mvc\Collection::count()
#2 [internal function]: IndexController->indexAction()
#3 [internal function]: Phalcon\Dispatcher->callActionMethod(Object(IndexController), 'indexAction', Array)
#4 [internal function]: Phalcon\Dispatcher->_dispatch()
#5 [internal function]: Phalcon\Dispatcher->dispatch()
#6 /var/www/testing/public/index.php(42): Phalcon\Mvc\Application->handle()
#7 {main}

我该怎么做才对?:)对不起,我来自俄罗斯:)

我最初的问题是here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-05 17:53:53

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44922129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档