tp6使用MongoDB
<p>tp6使用MongoDB需要配置复制集:</p><p><em>配置方法链接</em></p>
<p><em>将单节点转为复制集 — MongoDB Manual 3.4 (mongoing.com)</em></p>
<p> </p>
<p>tp6数据库配置文件内容: </p>
<p>database.conf</p>
<div class="cnblogs_code">
<pre> 'mongodb'=><span style="color: rgba(0, 0, 0, 1)">[
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据库类型</span>
'type' => 'mongo',
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 服务器地址</span>
'hostname' => '127.0.0.1',
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据库名</span>
'database' => 'testdb',
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 用户名</span>
'username' => 'root',
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 密码</span>
'password' => '123456',
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 端口</span>
'hostport' => '27017',
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据库连接参数</span>
'params' => [],
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据库调试模式</span>
'debug' => env('database.debug', <span style="color: rgba(0, 0, 255, 1)">true</span>),
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)</span>
'deploy' => 0,
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 数据库读写是否分离 主从式有效</span>
'rw_separate' => <span style="color: rgba(0, 0, 255, 1)">false</span>,
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 监听SQL</span>
'trigger_sql' => <span style="color: rgba(0, 0, 255, 1)">true</span>,
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 读写分离后 主服务器数量</span>
'master_num' => 1,
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 指定从服务器序号</span>
'slave_no' => '',
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 是否严格检查字段是否存在</span>
'fields_strict' => <span style="color: rgba(0, 0, 255, 1)">true</span>,
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 是否需要断线重连</span>
'break_reconnect' => <span style="color: rgba(0, 0, 255, 1)">false</span>,
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 字段缓存路径</span>
'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,<span style="color: rgba(0, 0, 0, 1)">
]</span></pre>
</div>
<p>Db类查询数据:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 0, 128, 1)"> $data</span> = Db::connect('mongodb'<span style="color: rgba(0, 0, 0, 1)">)
</span>->table('user_info'<span style="color: rgba(0, 0, 0, 1)">)
</span>->withoutField('_id,device_id'<span style="color: rgba(0, 0, 0, 1)">)
</span>->where(['device_id' => '1234567'<span style="color: rgba(0, 0, 0, 1)">])
</span>-><span style="color: rgba(0, 0, 0, 1)">select();
</span><span style="color: rgba(0, 0, 255, 1)">return</span> json(<span style="color: rgba(128, 0, 128, 1)">$data</span>);</pre>
</div>
<p>原子操作:</p>
<div class="cnblogs_code">
<pre> Db::connect('mongodb'<span style="color: rgba(0, 0, 0, 1)">)
</span>->table('user_info'<span style="color: rgba(0, 0, 0, 1)">)
</span>->where(['uid'=>['=',1<span style="color: rgba(0, 0, 0, 1)">]])
</span>->update(['test_col'=>['<span style="color: rgba(255, 0, 0, 1)">$set</span>',['field_1'=>1,'field_2'=>2]]]);</pre>
</div>
<h4><em>$set</em></h4>
<p><em>用来指定一个键并更新键值,若键不存在并创建。</em></p>
<h2><span style="font-size: 14px">原子操作常用命令</span></h2>
<h2><em><span style="font-size: 14px">MongoDB 原子操作 | 菜鸟教程 (runoob.com)</span></em></h2>
<p> </p>
<p> 修改内嵌文档内容:</p>
<div class="cnblogs_code">
<pre> Db::connect('mongodb'<span style="color: rgba(0, 0, 0, 1)">)
</span>->table('user_info'<span style="color: rgba(0, 0, 0, 1)">)
</span>->where(['uid'=>['=',1<span style="color: rgba(0, 0, 0, 1)">]])
</span>->update(['<span style="color: rgba(255, 0, 0, 1)">test_col.field_1</span>'=>3);</pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/codeninja/p/14817064.html
頁:
[1]