那些年,我用Thinkphp5集成mongoDB遇到的坑

据说Thinkphp5可以很方便的集成MongoDB,于是试了一下,结果全是坑啊,于是我就这样一步一步的踩过来了。


前言

公司的系统升级,需要将核心数据迁移到mongoDB上,同时,我们的开发框架也要升级,之前是ThinkPHP3.2的,现在要用TP5来做开发,于是如何使用TP5来操作MongoDB成为了摆在眼前的难题。也许对有的人而言,这是个比较简单的问题,但是对于公司的同事而言,这两个东西都是陌生的,之前都没有接触过,所以难免的会出现很多问题。但是为了后续的扩展,我们还是毅然决然的踩了下去。果然,踩出了一条坑坑洼洼的泥泞大道。


开始

1)安装ThinkPHP5

2)安装MongoDB

3)将MongoDB集成到ThinkPHP5里面

4)安装rockmongo,管理mongodb

我本地的环境是windows(32位) + php5.6.27(nts) + apache。


一、安装ThinkPHP5

ThinkPHP5的安装方式有很多,也很简单。我采用的是Git的方式直接从Github克隆的方式。这里不再赘述。

安装方式: http://www.kancloud.cn/manual/thinkphp5/118006


二、安装MongoDB

好吧,从这里开始,我踏上了一条漫漫踩坑之路。

由于我系统是32位的,无法下载最新的mongodb,只能下载3.2.12版的(当时最新的是3.4),不顾无所谓,能用就行。

下载地址:https://www.mongodb.com/download-center#previous



接着,安装mongoDB。安装教程可参考:http://www.runoob.com/mongodb/mongodb-window-install.html

安装mongo都没有什么问题,下一步下一步就可以了。但是, 我在把mongo安装为系统服务的时候遇到了问题。

mongod.exe --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install

服务安装成功了,但是却无法启动,报错100.

于是去网上找了很多资料,都没能解决我的问题。直到我看到了这篇文章http://blog.csdn.net/jiadajing267/article/details/54134965

我按照文章中的方法,将mongodb安装路径下data文件中有两个文件一个mongod.lock删除,然后重新试了一下,就ok了。

另外,可能是我环境的原因,我在执行上面的代码的时候需要加入两个参数才可以:--journal

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ThinkPHP是一个使用PHP语言开发的开源Web应用框架,而MongoDB是一种非关系型文档数据库。在使用ThinkPHP框架开发时,如果需要使用MongoDB作为数据库,可以通过配置和编写相关代码实现对MongoDB的操作。 引用中的代码是一个使用MongoDB的实例化使用的示例。在代码中,通过引入相关命名空间和实例化一些对象,实现了对MongoDB的连接和操作。其中的`$this->getUrl()`方法用于获取MongoDB的连接地址。 引用主要介绍了在ThinkPHP中如何使用MongoDB进行多条件查询。通过修改MongoDB的驱动文件,可以实现复合查询和多条件查询,这对于需要根据多个条件来查询数据的情况非常有用。 引用简要介绍了MongoDB的一些特点和设计目标。MongoDB是一种面向文档的数据库,它使用类似于JSON的结构来存储数据。它的设计目标是为了快速开发互联网Web应用,并作为Web应用栈的一部分。 综上所述,ThinkPHP可以使用MongoDB作为数据库来存储和查询数据,通过相关的配置和代码实现对MongoDB的操作。这样可以更加灵活和高效地开发Web应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [教你THINKPHP6.0 快速安装使用MongoDB](https://blog.csdn.net/qq_54337367/article/details/118463006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Thinkphp使用mongodb数据库实现多条件查询方法](https://download.csdn.net/download/weixin_38694566/13045557)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值