5

我是 Yii2 的新手。谁能告诉我如何用 mongodb 配置 YII2 以及如何在 YII2 和 mongodb 之间建立连接?我试图从 git hub 下载 mongodb 包并尝试运行以下命令

php composer.phar require --prefer-dist yiisoft/yii2-mongodb "*"

在我安装 Yii2 的根文件夹内的命令提示符下,但出现以下错误

 Your requirements could not be resolved to an installable set of packages.
 Problem 1
- yiisoft/yii2 2.0.0 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching      package found.
- yiisoft/yii2 2.0.0 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- Installation request for yiisoft/yii2 == 2.0.0.0 -> satisfiable by yiisoft/yii2[2.0.0].
4

4 回答 4

6

如果您尝试通过命令提示符安装它,请尝试使用 Composer 的以下命令

composer require --prefer-dist yiisoft/yii2-mongodb "*"

这适用于我的 Windows 8 环境。

要在安装包时忽略依赖错误,请使用--ignore-platform-refs开关:

composer require --ignore-platform-refs --prefer-dist yiisoft/yii2-mongodb "*"
于 2014-12-08T10:57:02.987 回答
1

请记住,您还必须在 PHP 中安装 MongoDB 扩展才能使此插件正常工作:

http://php.net/manual/en/class.mongodb.php

于 2017-04-13T17:56:54.440 回答
0

似乎问题出在 yii2 composer 依赖项上,请在控制台中运行此命令以添加全局依赖项,

1) 作曲家全局需要“fxp/composer-asset-plugin:~1.1.1”

2)在 composer.json 文件中添加"yiisoft/yii2-mongodb": "~2.0.0"

3)现在运行composer installcomposer update

4) Composer install只会在你的 composer 文件中安装需要的包,但是composer update也会检查你在 composer.js 中提到的包是否有任何新版本,然后安装新版本。

5)现在在您的 common/config/main.php 文件中添加以下代码

return [
    //....
    'components' => [
        'mongodb' => [
            'class' => '\yii\mongodb\Connection',
            'dsn' => 'mongodb://developer:password@localhost:27017/mydatabase',
        ],
    ],
]; 

现在是测试 mongoDb 是否工作的时候了。

$collection = Yii::$app->mongodb->getCollection('customer');
$collection->insert(['name' => 'John Smith', 'status' => 1]);

欲了解更多信息,请点击以下链接,

https://github.com/yiisoft/yii2-mongodb

于 2016-05-18T22:06:39.810 回答
-3
'mongodb' => [
        'class' => '\yii\mongodb\Connection',
        'dsn' => 'mongodb://127.0.0.1:27017/vinagex',
        'options' => [
            "username" => "vinagex",
            "password" => "vinagex"
        ]
    ],
于 2019-02-12T08:27:30.310 回答