laravel 如何使用mongodb数据库

1.安装mongodb

下载包:wget http://fastdl.mongodb.org/lin...

解压:
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);                                            

}

参考文章:

  1. https://my.oschina.net/chinae...
  2. http://www.jianshu.com/p/013f...
  3. http://www.jianshu.com/p/fbab...

贺兰丛丛
关于php、liunx、nginx、js 方面的技术文章。

放养程序员

106 声望
9 粉丝
0 条评论
推荐阅读
laravel通用化的CURD
说明 非常高效的处理laravel中curd的操作 安装 composer require shencongcong/laravel-curd ~1.0 laravel项目的 config/app.php 注册 ServiceProvider {代码...} 使用 {代码...} github地址

hlcc阅读 1.6k

硬卷完了!MongoDB 打怪升级进阶成神之路( 2023 最新版 )!
前面我们学习:MySQL 打怪升级进阶成神之路、Redis 打怪升级进阶成神之路,然后我们还在继续 NoSQL 的卷王之路。从第一篇文章开始,我们逐步详细介绍了 MogoDB 基础概念、安装和最基本的CURD操作、索引和聚合、工...

民工哥6阅读 614

封面图
初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。

王中阳Go4阅读 1.7k评论 2

封面图
一分钟搞明白!快速掌握 Go WebAssembly
最近因为各种奇怪的原因,更多的接触到了 WebAssembly。虽然之前很多博客也翻过写过各种文章,但总感觉欠些味道。于是今天梳理了一版,和大家一起展开学习。

煎鱼4阅读 2.2k

Laravel入门及实践,快速上手ThinkSNS+二次开发
【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们今天来说说Laravel的入门。

ThinkSNS1阅读 2.4k

Mongodb-关联表查询
之前使用SQL语法来查询oracle、sqlserver、mysql表之间的关联,但是到mongodb之后完全无从下手,写法完全不一样,于是到网上查询mongodb关联表查询的写法,于是参考代码自己试着写了下,但是发现有好多问题,比如...

Awbeci2阅读 4.6k评论 1

我让chatGPT用PHP写一个MVC框架,不仅写出来,还能跑!
没想到写出来的框架确实挺简单的,但是又没觉得哪里不对,于是我尝试把这个框架放到服务器试试能不能跑起来,最后还真的可以跑起来,为了让大家能够看到这个框架的演示,我直接爬一个热搜,然后便于展示数据。

TANKING1阅读 1.7k

封面图

放养程序员

106 声望
9 粉丝
宣传栏