在 Laravel 中使用 MongoDB
安装组件composer require jenssegers/mongodb注册服务 ,在config/app.phpJenssegers\Mongodb\MongodbServiceProvider::class,修改数据库配置文件config/database.php添加 MongoDB 的数据库的信息:'mongodb' => ['driver'=> 'mongodb','ho
·
安装组件
composer require jenssegers/mongodb
注册服务 ,在config/app.php
Jenssegers\Mongodb\MongodbServiceProvider::class,
如果打算使用.env
DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=test
DB_USERNAME=test
DB_PASSWORD=tes
修改数据库配置文件 config/database.php
添加 MongoDB 的数据库的信息:
'mongodb' => [
'driver' => 'mongodb',
'host' => 'localhost',
'port' => 27017,
'database' => 'PowerSwitch',
'username' => '',
'password' => '',
],
'default' => env('DB_CONNECTION', 'mysql'),
改成: 如果仅仅使用mongo 可以修改 一般情况下 不建议修改
'default' => env('DB_CONNECTION', 'mongodb'),
// 建立一个 UserController.php 控制器
php artisan make:controller UserController
参考代码:
use DB; //引用数据库
class MongoController extends Controller{
public function Index(){
//插入数据
$ret = DB::insert('users')
->insert([
'name' => 'tom',
'age' => 118
]);
//获取单条数据
$res = DB::collection('users')->find('6209f085fb45615be77fb164');
//获取多条数据
$res = DB::collection('users')->get()->toArray();
//获取到_id
var_dump((string)$res[0]['_id']);
//查询多条数据
$res = DB::collection('users')->where('age', 118)->get()->toArray();
//更新
$res = DB::collection('users')->where('age', 118)->update(['name'=>"larance"]);
//删除
$res = DB::collection('users')->where('age', 118)->delete();
}
}
使用model
<?php
namespace App\Models;
use Jenssegers\Mongodb\Eloquent\HybridRelations;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class PowerSwitch extends Eloquent
{
use HybridRelations;
protected $collection = 'PowerSwitch';
protected $connection = 'mongodb';
}
controller
?php
namespace App\Http\Controllers\Tc;
use Bluerhinos\phpMQTT;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Config;
use App\Models\PowerSwitch;
class PowerController extends Controller
{
public function testInsert()
{
//list
$result = PowerSwitch::query()->get()->toArray();
//insert
$insert2 = PowerSwitch::query()->insert(['id' => "1", 'model' => "on", 'delay' => 50, "CreateTime" => time(),
"computers" => "", "State" => "ok"]);
}
更多推荐
已为社区贡献8条内容
所有评论(0)