mongodb与thinkphp5.1 2019-01-14

    我们再win下安装好了mongodb,我们composer下一个mongodb的扩展包。

    我这里是跟着官方文档安装的。https://www.kancloud.cn/manual/thinkphp5_1/354135


    首先我们到tp5.1的根目录下,输入安装指令

    composer require topthink/think-mongo

    image.png


    OK安装完,我们再根目录下的 vendor/topthink里面会看到think-mongo


    这样mongodb的tp扩展算是安装好了。


    第二步,设置数据库连接信息,我们去config的database.php文件 配置mongodb的参数


    image.png


    由于我的是没账号密码的所以账号密码留空(布置到线上注意安全哦,今天早上收到一条消息,58同城2亿用户的数据 8百多G的信息泄露。)


    然后我们来写一段demo

    image.png

    我们可以把config里面的database当成mysql的数据库名,把刚刚我们写的 myMongo当成数据表名。然后我们往表插入 name = young , sex = 24


    我们向mongo数据库插入一条数据。跟寻常操作数据库差不多。


    我们打开我们的可视化工具查看下


    image.png


    看了下,插入了一条数据  id是自动生成的



    OK,增删改查效果和数据库一样。connect是选择要连接的配置


    其实他的模型(model层也长得基本一致)


    我们建立一个user模型


    image.png


    里面就这么简单,其他功能大家自行发掘。


    然后呢,我们这次做一下批量插入 


    image.png


    image.png


    可以看到,第一条是我用db添加的,第二第三是我用model添加的。

    建议大家开发的时候多用model,少用db,这样如果哪天要修改表名,我们直接改model就好,不然改起来很蛋疼。 改表名情况很少,但是万一呢


    记得很久很久以前,看到一个项目,一百来张表,没任何前缀,然后我同事当时空降过去,看晕了,然后就让他们改表名,加前缀,比如系统类的表就加sys , 日志类的就加log,结果发现改不了,因为他们经常用db(name),一个表写了好几十个地方。改起来工作量大。

    大家看下变化差异

    image.png

    OK,mongodb应用介绍到这里。感谢大家。


    内容参照thinkphp5.1手册:https://www.kancloud.cn/manual/thinkphp5_1/354135