[英]Can not connect Yii2 to mongodb
我想將yii2-advance模板項目連接到MongoDB,但是有問題。
我在這里完成了指南,並將這些設置添加到common/config/main-local.php
和test-local.php
:
<?php
return [
'components' => [
'db' => [
'class' => '\yii\mongodb\Connection',
'dsn' => 'mongodb://@localhost:27017/medadnoki',
'options' => [
"username" => "",
"password" => ""
]
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
'useFileTransport' => true,
],
],
];
但是當我使用此代碼時,我得到了錯誤:
use yii\mongodb\Connection;
...
$connection = new Connection();
if ($connection->getIsActive()) {
echo "true";
}
else {
echo "false";
}
我的代碼有什么問題?
UPDATE1:我已經在yii2-basic中測試了我的代碼,並將db.php
更改為:
return [
'class' => '\yii\mongodb\Connection',
'dsn' => 'mongodb://root:root@localhost:27017/medadnoki'
];
然后將以下代碼添加到控制器中:
if(Yii::$app->db->getIsActive()) {
echo "true";
} else {
echo "false";
}
但它仍然返回false,有什么解決方法嗎? 我應該手動創建到db的連接嗎? 或它會自動處理連接?
我已經在控制器中測試了MongoDB查詢,但收到了身份驗證錯誤。 我為數據庫設置了用戶名和密碼,並像這樣更改dsn
:
'dsn' => 'mongodb://username:password@localhost:27017/medadnoki',
再一次,我在getIsActive()
函數中得到了錯誤錯誤,但是我的查詢工作正常。 我認為函數Yii::$app->db->getIsActive()
不會檢查數據庫連接,而是用於其他目的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.