laravel 如何使用mongodb数据库
1.安装mongodb
下载包:wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.3.tgz
解压:
tar zxvf mongodb-linux-x86_64-2.2.3.tgz
移动目录到/usr/local/mongodb
mv mongodb-linux-x86_64-2.2.3 /usr/local/mongodb
进入mongodb目录
cd /usr/local/mongodb
新建自定义数据目录
mkdir -p ./data/db/
新建日志目录
mkdir logs
以后台运行方式启动mongodb
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs/mongodb.log --fork
设置开机自启动:
echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs/mongodb.log --fork" >> /etc/rc.local
查看MongoDB日志
tail -f /usr/local/mongodb/logs/mongodb.log
查看进程
ps aux |grep mongodb
参数解释:
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
2.安装php mongodb扩展
安装openssl
apt-get install openssl
安装php-mongodb驱动
pecl install mongodb
php --ini 查看php.ini 文件文职
在php.ini 文件中添加
extension=/{自己服务商相应的路劲}/mongodb.so
3.安装laravel 扩展
下载扩展包
composer require jenssegers/mongodb
在config/app.php
中注册服务
JenssegersMongodbMongodbServiceProvider::class,
别名 'Mongo' => JenssegersMongodbMongodbServiceProvider::class,
修改数据库配置文件config/database.php
中
'mongodb' => [
'driver' => 'mongodb',
'host' => 'localhost',
'port' => 27017,
'database' => 'mydb', // 自己数据库名字
'username' => '',
'password' => '',
],
使用案例
use DB; //引用数据库
class MongoController extends Controller{
pubulic function index(){
DB::connection('mongodb') //选择使用mongodb
->collection('users') //选择使用users集合
->insert([ //插入数据
'name' => 'tom',
'age' => 18
]);
}
$res = DB::connection('mongodb')->collection('users')->all();
dd($res);
}