tp6 mongodb简单的增删改查

controller/mongo.php

<?phpnamespace app\controller;
use think\facade\Db;
class Mongo
{/*** 插入数据* */public function insert(){// 插入数据$data = ['name' => 'zhangsan','email' => 'zhangsan@example.com','children'  => ['_id' =>  1,'name' => "Child 2"]];$res = Db::name('test')->insert($data);dd($res);}/*** 批量插入数据* */public function insertAll() {$data = [['name' => 'John','email' => 'john@example.com','addr' => ['city' => 'New York','state' => 'NY','zip' => '10001']],['name' => 'Jane','email' => 'jane@example.com','addr' => ['city' =>'Los Angeles','state' => 'CA','zip' => '90001']]];$res = Db::name('test')->insertAll($data);dd($res);}/*** 查询数据* */public function find() {//严格区分字符串和数字类型//按照条件查询,查询单个$res = Db::name('test')->where('name', 'John')->find();$res1 = Db::name('test')->where('name', 'John')->select();//根据_id查询$res2 = Db::name('test')->where('_id', '661602b5203500009e0060c3')->find();//根据_id in 查询$res3 = Db::name('test')->where('_id', 'in', ['661602b5203500009e0060c3', '661603a2203500009e0060c4'])->select();//使用子文档查询$res4 = Db::name('test')->where('addr.city', 'New York')->select();//使用子文档查询,子文档是一个多维数组$res5 = Db::name('test')->where('children.1._id', 1)->select();dd($res5);}/*** 更新数据* */public function update() {//更新单个$res = Db::name('test')->where('name', 'John')->update(['email' => 'john@example.com1']);//更新多个$res1 = Db::name('test')->where('name', 'John')->update(['email' => 'john@example.com1']);//根据_id更新$res2 = Db::name('test')->where('_id', '661602b5203500009e0060c3')->update(['email' =>'john@example.com1']);dd(1);}/*** 删除数据* */public function delete() {//删除单个$res = Db::name('test')->where('name', 'John')->delete();//删除多个$res1 = Db::name('test')->where('name', 'John')->delete();//根据_id删除$res2 = Db::name('test')->where('_id', '661602b5203500009e0060c3')->delete();dd(1);}/*** 聚合查询* */public function aggregate() {//简单查询$count = Db::connect('mongo')->table('test')->count();//单个条件查询$count1 = Db::connect('mongo')->table('test')->where('name', 'zhangsan')->count();}
}

config/database.php

 'mongo' => [// 数据库类型'type'            => 'mongo',// 设置MongoDB的主机地址'hostname'        => '127.0.0.1',// 设置MongoDB的端口'hostport'        => '27017',// 设置MongoDB的数据库名'database'        => 'test',// 是否是复制集'is_replica_set'  => false,// 用户名'username'        => '',// 密码'password'        => '',// MongoDB连接的其它选项'options'         => [],// 设置MongoDB的连接参数'uri_options'     => [],],

route/app.php

//mongo
Route::post('mongo/insert', 'mongo/insert');
Route::post('mongo/insertAll', 'mongo/insertAll');
Route::post('mongo/find', 'mongo/find');
Route::post('mongo/delete', 'mongo/delete');
Route::post('mongo/aggregate', 'mongo/aggregate');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/806242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型引领未来智慧科研暨ChatGPT自然科学高级应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

starrocks的fe节点启动不起来的解决办法

fe节点启动报错:Do not specify the helper node to FE itself. Please specify it to the existing running Leader or Follower FE at com.starrocks.StarRocksFE.main(StarRocksFE.java:68) [starrocks-fe.jar:?] Caused by: com.sleepycat.je.EnvironmentFailureExcepti…

智能学习新纪元:AI个性化教育平台的革命

在AI个性化教育平台的应用领域&#xff0c;即便是普通人也有多种创业机会。AI技术在教育中的应用正逐步扩展&#xff0c;不仅限于传统的教育内容提供&#xff0c;还包括个性化学习路径的设计、学习效果的评估、互动式学习体验的创造等。以下是几个具体的创业方向&#xff1a; …

FFmpeg 结合cut、ffprobe批量以JSON格式查看音视频信息,附带参数详细说明

背景&#xff1a;查看下面audio_info.txt文件中音频的时长等信息。 /data/htdocs/demo/GPT-SoVITS/GPT-SoVITS/output/ambor/slicer_opt/vocal_原音频.wav.reformatted.wav_10.wav_0000000000_0000280800_0.000-4.680.wav|slicer_opt|ZH|所以我们猜测这背后也是深渊教团在捣鬼…

机器学习实训 Day1

线性回归练习 Day1 手搓线性回归 随机初始数据 import numpy as np x np.array([56, 72, 69, 88, 102, 86, 76, 79, 94, 74]) y np.array([92, 102, 86, 110, 130, 99, 96, 102, 105, 92])from matplotlib import pyplot as plt # 内嵌显示 %matplotlib inlineplt.scatter…

设计模式——责任链模式13

责任链模式 每个流程或事物处理 像一个链表结构处理。场景由 多层部门审批&#xff0c;问题分级处理等。下面体现的是 不同难度的问题由不同人进行解决。 设计模式&#xff0c;一定要敲代码理解 传递问题实体 /*** author ggbond* date 2024年04月10日 07:48*/ public class…

三种排序和对数器

三种排序 选择排序 就是在数组选出最小的数放到第一个索引上&#xff0c;然后选出次最小的数放到第二个索引上&#xff0c;依此类推 :::info [ 5, 1 , 3 , 2 , 4 ]第一次从0~4索引选出最小的放到0索引 [ 1, 5 , 3 , 2 , 4 ]第二次从1~4索引选出最小的放到1索引 [ 1 ,2 , 5 , 3…

数据结构-----链表

目录 1.顺序表经典算法 &#xff08;1&#xff09;移除元素 &#xff08;2&#xff09;合并数组 2.链表的创建 &#xff08;1&#xff09;准备工作 &#xff08;2&#xff09;建结构体 &#xff08;3&#xff09;链表打印 &#xff08;4&#xff09;尾插数据 &#xff…

【unity】【C#】UGUI组件

文章目录 UI是什么对UI初步认识 UI是什么 UI是用户界面&#xff08;User Interface&#xff09;的缩写&#xff0c;它是用户与软件或系统进行交互的界面。UI设计旨在提供用户友好的界面&#xff0c;使用户能够轻松地使用软件或系统。UI设计包括界面的布局、颜色、字体、图标等…

Github Benefits 学生认证/学生包 新版申请指南

本教程适用于2024年之后的Github学生认证申请&#xff0c;因为现在的认证流程改变了很多&#xff0c;所以重新进行了总结这方面的指南。 目录 验证教育邮箱修改个人资料制作认证文件图片转换Base64提交验证 验证教育邮箱 进入Email settings&#xff0c;找到Add email address…

Java集合List

List特有方法 经典多态写法 // 经典的多态写法 List<String> list new ArrayList<>();常用API&#xff1a;增删改查 // 添加元素 list.add("Java"); // 添加元素到指定位置 list.add(0, "Python");// 获取元素 String s list.get(0);// 修改…

Docker容器嵌入式开发:在Ubuntu上配置Postman和flatpak

在 Ubuntu 上配置 Postman 可以通过 Snap 命令完成&#xff0c;以下是所有命令的总结&#xff1a; sudo snap install postmansudo snap install flatpak在 Ubuntu 上配置 Postman 和 Flatpak 非常简单。以下是一些简单的步骤&#xff1a; 配置 Flatpak 安装 Flatpak&#x…

【Linux】环境下OpenSSH升级到 OpenSSH_9.6P1(图文教程)

漏洞描述 OpenSSH&#xff08;OpenBSD Secure Shell&#xff09;是加拿大OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现&#xff0c;支持对所有的传输进行加密&#xff0c;可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 9.6之前…

Qt5 编译 Qt Creator 源码中的 linguist 模块

文章目录 下载 Qt Creator 源码手动翻译多语言自动翻译多语言 下载 Qt Creator 源码 Github: https://github.com/qt/qttools 笔记打算用 Qt 5.12.12 来编译 qt creator-linguist 所以笔者下载的是 tag - 5.12.12 &#xff0c;解压后如下&#xff0c;先删除多余的文件&#xf…

vue + element plus:ResizeObserver loop completed with undelivered notifications

ResizeObserver loop completed with undelivered notifications. 解释&#xff1a; 这个错误通常表示ResizeObserver无法在一个浏览器帧中传递所有的通知&#xff0c;因为它们需要的处理时间比帧的剩余时间更长。这通常发生在被观察元素的尺寸变化导致了一连串的回调函数被调…

ElasticSearch 的 DisMaxQueryBuilder 的理解

DisMaxQueryBuilder的定义&#xff1a; A query that generates the union of documents produced by its sub-queries, and that scores each document with the maximum score for that document as produced by any sub-query, plus a tie breaking increment for any addit…

爬虫相关的简单操作

爬虫&#xff1a;一种程序&#xff0c;从网站上爬取各种各样的数据&#xff0c;包括图片、视频、音乐、文档等 一、爬哪一个网址&#xff1f; 怎么找到一个视频的网址&#xff1a; 1、在浏览器右上角菜单--更多工具--开发者工具 2、选中网络&#xff08;network&#xff09…

51单片机 DS1302

DS1302 实现流程 将提供的ds1302底层参考程序拷贝到工程下 注意在ds1302.c中可能硬件引脚没有定义&#xff0c;注意去看一下。还有头文件什么的在ds1302中记得加上 参考代码&#xff1a; #include "reg52.h" #include "ds1302.h"unsigned char Write_…

Java 数据类型和变量

基本类型 整数类型&#xff1a;byte short int long&#xff0c;分别占 1、2、4、8 个字节&#xff1b; 在给 long 类型变量赋值时&#xff0c;如果超过了 int 的表示范围&#xff0c;需要在常量后面加大写 L 或小写字母 l&#xff0c;例如&#xff1a;long value 3425352515…

深度解析SPARK的基本概念

关联阅读博客文章&#xff1a; 深入理解MapReduce&#xff1a;从Map到Reduce的工作原理解析 引言&#xff1a; 在当今大数据时代&#xff0c;数据处理和分析成为了企业发展的重要驱动力。Apache Spark作为一个快速、通用的大数据处理引擎&#xff0c;受到了广泛的关注和应用。…