学习笔记—在laravel4.2中配置mongodb

原创 2016年05月31日 01:36:39

因为公司的需求, 在原先Laravel的框架上需要储存大量的用户操作记录。所以选择了mongodb来进行存储。 相比于SGBDR,laravel自带强大的Eloquent之并不直接支持Nosql。但是网上有很多已经成熟的插件很好的将Nosql集成到Laravel之中。

在Elasticsearch 和 mongodb进行比较之后。我们选择了Mongodb。

Extension是:jenssegers/laravel-mongodb (MongoLid也是一个功能相近的插件用于集成)。
Laravel版本:4.2

系统:ubuntu 14.04


1.mongodb 的安装。

切记不能直接在没有安装过mongodb的机器上直接安装 apt-get install mongodb。

如果安装了 利用 apt-get purge mongodb 来卸载

1.http://phphub.org/topics/309

其中包涵了mongodb 的安装方法 和 mongodb drive的安装方法。


2.Laravel MongoDB的安装方法:

首先确定自己使用的 laravel版本:

Laravel Package
4.2.x 2.0.x
5.0.x 2.1.x
5.1.x 2.2.x or 3.0.x
5.2.x 2.3.x or 3.0.x

因为这里使用的为laravel4.2 所以安装时不能直接使用默认的

composer require jenssegers/mongodb

修改 project_dir/composer.json文件

"require":{

"Laravel/framework":"4.2.*",


...

"jenssegers/mongodb":"~2.0"

},


之后在config/app.php中加入

“Jenssegers\Mongodb\MongodbServiceProvider”


在Model中创建新的User

use Jenssegers\Mongodb\Model as Eloquent;

class User extends Eloquent {}

注意:此处是4.2版本 所以路径为

 Jenssegers\Mongodb\Model

如果使用的为5.*版本 则可以直接使用composer命令

composer require jenssegers/mongodb


但目录则是:

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class User extends Eloquent {}

之后在app/config/database中新建数据库

‘mongodb’=>array(

'driver' => 'mongodb',

'host'=> 'localhost'

'database' =>27017

'username'=>

'password'=>

'database'=>

)


之后在工程路径重新加载 composer update 就完成了


遇到的问题 : couldn't find mongoclient

1.保证第一步安装时能正确的现实 mangodb support :enable

其中要确定自己所使用的到底是哪个php.ini

有时候在cli和apache2中都需要修改:extension = mongo.so 此处是mongo.so 不是mongodb.so!!!!

查看apache的php.ini

在工程文件夹下新建 file.php

<?php echo phpinfo(); >


查看cli的php.ini

php -i | grep 'php.ini'

php -i | grep 'mongo'用于查看 mongodb driver是否正确执行。


在laravel框架中使用mongodb数据库

在laravel框架中使用mongodb,前提是你已经安装好了mongodb及mongodb的php扩展。 没有安装的,具体可以参照博客http://blog.csdn.net/turtleo/a...
  • turtleo
  • turtleo
  • 2015年12月01日 19:12
  • 7536

12.Laravel5学习笔记:使用mongodb开发LBS应用

随着近几年各类移动终端的迅速普及,基于地理位置的服务(LBS)和相关应用也越来越多,而支撑这些应用的最基础技术之一,就是基于地理位置信息的处理。我所在的项目也正从事相关系统的开发,我们使用的是Lara...
  • hel12he
  • hel12he
  • 2015年11月26日 18:18
  • 3292

Laravel5.4使用MongoDB作为默认的日志存储方式

博文链接:http://www.muyesanren.com/2017/09/15/laravel-how-to-store-logging-with-mongodb/

laravel 使用mongodb数据库

1.安装mongodb 下载包:wget http://fastdl.mongodb.org/lin... 解压: tar zxvf mongodb-linux-x86_64-2.2.3...
  • luyaran
  • luyaran
  • 2017年09月29日 13:36
  • 178

MongoDB+laravel 查询mongodb集合中数组个数

{$match: {'process.0': {$exists: true}}},  {$unwind: '$process'},  {$match: {'process.correct': 1}...

laravel 中 使用 composer 的中国镜像安装时报错(找不到包)

composer require jenssegers/mongodb 安装mongodb时报错: Your requirements could not be resolved to an i...

mongodb源码分析(二十)mongos分片的配置

本文描述分片设置命令的流程.在分析分片设置命令流程前先来看看configserver服务器config数据库中各个collection的作用. version:   保存当前configserver...

wamp修改php.ini重启wamp后不生效的解决方法

一直使用的wamp集成环境作为php的开发环境, 用了这么久, 用过多个版本的wamp , 但是都发现一个问题 , 就是在软件的目录中修改php.ini , 重启之后都不能生效...

laravel学习笔记(5)— Blade模板引擎

一、Blade模板引擎简介及模板继承的使用 1.Blade模板引擎简介 ● blade是laravel提供的一个既简单又强大的模板引擎。 ● 和其他流行的PHP模板引擎不一样,Blade并不限制...
  • Burgdan
  • Burgdan
  • 2017年04月30日 21:27
  • 431

laravel学习笔记(4)— 数据库操作之 - Eloquent ORM

1.Eloquent ORM简介、模型的建立及查询数据  ●  laravel所自带的Eloquent ORM是一个优美、简洁的ActiveRecord实现,用来实现数据库操作。  ●  每个数据表都...
  • Burgdan
  • Burgdan
  • 2017年04月30日 20:15
  • 737
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记—在laravel4.2中配置mongodb
举报原因:
原因补充:

(最多只允许输入30个字)