网站做百度推广怎么推广网站/厦门小鱼网
目录
基于$lookup创建关联查询视图
创建带有默认字符序的视图
字符序
创建视图
视图中的字符序
基于$lookup创建关联查询视图
基于$lookup命令,通过集合的关联查询,用户可以创建基于两个集合的视图并查询视图数据。应用在构建查询时,无需每次构建和维护复杂的管道查询。
- 构建用于创建视图的两个集合, inventory集合和orders集合
db.inventory.insertMany([{ prodId: 100, price: 20, quantity: 125},{ prodId: 101, price: 10, quantity: 234},{ prodId: 102, price: 15, quantity: 432},{ prodId: 103, price: 17, quantity: 320}
])db.orders.insertMany([{ orderId: 201, custid: 301, prodId: 100, numPurchased: 20},{ orderId: 202, custid: 302, prodId: 101, numPurchased: 10},{ orderId: 203, custid: 303, prodId: 102, numPurchased: 5},{ orderId: 204, custid: 303, prodId: 103, numPurchased: 15},{ orderId: 205, custid: 303, prodId: 103, numPurchased: 20},{ orderId: 206, custid: 302, prodId: 102, numPurchased: 1},{ orderId: 207, custid: 302, prodId: 101, numPurchased: 5},{ orderId: 208, custid: 301, prodId: 100, numPurchased: 10},{ orderId: 209, custid: 303, prodId: 103, numPurchased: 30}
])
- 创建关联查询视图
db.createView("v_sales", // 视图名称"orders", // 基于orders集合创建视图[{$lookup: {// 通过lookup查询inventory集合from: "inventory",localField: "prodId",foreignField: "prodId",as: "inventoryDocs"}
}, {$project: { //指定输出字段_id: 0,prodId: 1, orderId: 1,numPurchased: 1,price: "$inventoryDocs.price"}
}, {$unwind: "$price" //将price数组打平
}])
- 查询视图
db.v_sales.find()/* 1 */
{"orderId" : 201,"prodId" : 100,"numPurchased" : 20,"price" : 20
},/* 2 */
{"orderId" : 202,"prodId" : 101,"numPurchased" : 10,"price" : 10
},
...
创建带有默认字符序的视图
字符序
字符集中字符串的排列顺序,用于指定字符串的比较规则,包括大小写比较规则,发音标记规则顺序等。
创建视图
Mongodb官网中,展示了一个带有默认字符序的视图
- 创建一个不同cafe值的集合
db.places.insertMany([{ _id: 1, category: "café" },{ _id: 2, category: "cafe" },{ _id: 3, category: "cafE" }
])
- 基于上述集合,创建一个视图,并指定字符序
db.createView("placesView", "places", [ { $project: {category: 1}}], {collation: { locale: "fr", strength: 1}})
- 查看视图数据
db.placesView.countDocuments({ category: "cafe"})
//结果返回3
视图中的字符序
- 用户可以在创建视图时,指定字符序。如果没有指定字符序,视图默认的字符序就是简单的二进制字符序。视图并不会继承集合的默认字符序。
- 视图中字符比较,使用默认的字符序。禁止尝试修改或覆盖字符序的操作
- 基于已有view创建的视图,不可以指定与原始图不同的字符序
- 在多个view中进行aggregation查询时,如$lookup, $graphLookup命令,使用的视图必须有相同的字符序。
//基于placesView创建新的视图,指定不同的字符序,创建失败。
db.createView("placesView2", "placesView", [ { $project: {category: 1}}], {collation: { locale: "en", strength: 1}})
{"message" : "View test.placesView2 has conflicting collation with view test.placesView","ok" : 0,"code" : 167,"codeName" : "OptionNotSupportedOnView"
}
//使用$lookup查询视图和不同字符序的集合,查询失败
db.places.aggregate()
.lookup({from: "placesView",localField: "category",foreignField: "category",as: "categoryViews"})
{"message" : "Cannot override a view's default collationtest.placesView","ok" : 0,"code" : 167,"codeName" : "OptionNotSupportedOnView"
}
相关文章:

MongoDB创建和查询视图(二)
目录 基于$lookup创建关联查询视图 创建带有默认字符序的视图 字符序 创建视图 视图中的字符序 基于$lookup创建关联查询视图 基于$lookup命令,通过集合的关联查询,用户可以创建基于两个集合的视图并查询视图数据。应用在构建查询时,无需…...

【MYSQL】MYSQL 的学习教程(七)之 慢 SQL 优化思
1. 慢 SQL 优化思路 慢查询日志记录慢 SQLexplain 分析 SQL 的执行计划profile 分析执行耗时Optimizer Trace 分析详情确定问题并采用相应的措施 1. 慢查询日志记录慢 SQL 如何定位慢SQL呢? 我们可以通过 慢查询日志 来查看慢 SQL。 ①:开启慢查询日志…...

iOS - 真机调试的新经验
文章目录 获取真机 UDIDPlease reconnect the device.iOS 开发者模式Fetching debug symbols 很久没有在真机运行 iOS 测试了,今天帮忙调试,发现很多东西都变了,有些东西也生疏了,在这里记录下。 获取真机 UDID 创建Profile 需要…...

thinkphp6.0的workerman在PHP8.0下报错
一、我先升级了thinkphp6.0到最新版本: composer update topthink/framework二、结果提示我composer版本过低,需要升级到2,于是我又升级了composer composer self-update 三、我又升级了workerman: composer require topthink/think-work…...

SQL语句分类
关系分类 SQL区分为三类关系 表 在数据库中存储,可以对其进行增删改查 视图 通过计算定义的关系,并不在数据库中存储,只在需要的使用进行构造 临时表 在执行查询或更新时由SQL程序临时构造的,处理结束后就会删除 语言分类 数据查询…...

C# Onnx yolov8 pokemon detection
目录 效果 模型信息 项目 代码 下载 C# Onnx yolov8 pokemon detectio 效果 模型信息 Model Properties ------------------------- date:2023-12-25T17:55:44.583431 author:Ultralytics task:detect license:AGPL-3.0 h…...

Flink电商实时数仓(六)
交易域支付成功事务事实表 从topic_db业务数据中筛选支付成功的数据从dwd_trade_order_detail主题中读取订单事实数据、LookUp字典表关联三张表形成支付成功宽表写入 Kafka 支付成功主题 执行步骤 设置ttl,通过Interval join实现左右流的状态管理获取下单明细数据…...

本地部署Jellyfin影音服务器并实现远程访问内网影音库
文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…...

【React Native】第一个Android应用
第一个Android应用 环境TIP开发工具环境及版本要求建议官方建议 安装 Android Studio首次安装模板选择安装 Android SDK配置 ANDROID_HOME 环境变量把一些工具目录添加到环境变量 Path[可选参数] 指定版本或项目模板 运行使用 Android 模拟器编译并运行 React Native 应用修改项…...

解决IOS transform rotate后文字无法显示,backface-visibility导致@click事件失效
问题一:IOS transform rotate后文字无法显示 网上搜到可以用backface-visibility:hidden来解决,这样做文字是出来了,但是click事件无效了。 问题二:backface-visibility导致click事件失效 在Vue中使用backface-visibility和cli…...

Nature | 大型语言模型(LLM)能够产生和发现新知识吗?
大型语言模型(LLM)是基于大量数据进行预训练的超大型深度学习模型。底层转换器是一组神经网络,这些神经网络由具有自注意力功能的编码器和解码器组成。编码器和解码器从一系列文本中提取含义,并理解其中的单词和短语之间的关系。通…...

多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测
多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | …...

Nature 新研究发布,GPT 驱动的机器人化学家能够自行设计和进行实验,这对科研意味着什么?
文章目录 前言揭秘Coscientist不到四分钟,设计并改进了程序能力越大,责任越大 前言 有消息称,AI 大模型 “化学家” 登 Nature 能够自制阿司匹林、对乙酰氨基酚、布洛芬,甚至连复杂的钯催化交叉偶联反应,也能完成。 …...

Ai画板原理
在创建时画板可以选择数量和排列方式 也可以采用这个图片左上的画板工具,选择画板在其他地方画框即可生成,同时可以在属性框中可以修改尺寸大小 选择全部重新排列可以进行创建时的布局...

【hacker送书第11期】Python数据分析从入门到精通
探索数据世界,揭示未来趋势 《Python数据分析从入门到精通》是你掌握Python数据分析的理想选择。本书深入讲解核心工具如pandas、matplotlib和numpy,助您轻松处理和理解复杂数据。 通过matplotlib、seaborn和创新的pyecharts,本书呈现生动直…...

华为OD机试 - 精准核酸检测(Java JS Python C)
在线OJ刷题 题目详情 - 精准核酸检测 - Hydro 题目描述 为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。 现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹交叉。 现在给定一组确诊人员编…...

智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.材料生成算法4.实验参数设定5.算法结果6.…...

【MySQL】:超详细MySQL完整安装和配置教程
🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. MySQL数据库1.1 版本1.2 下载1.3 安装1.4 客户端连接 🌤️全篇总…...

OpenAI亲授ChatGPT “屠龙术”!官方Prompt 工程指南来啦
应该如何形容 Prompt 工程呢?对于一个最开始使用 ChatGPT 的新人小白,面对据说参数量千亿万亿的庞然巨兽,Prompt 神秘的似乎像某种献祭:我扔进去几句话,等待聊天窗口后的“智慧生命”给我以神谕。 然而,上…...

最新ChatGPT商业运营网站程序源码,支持Midjourney绘画,GPT语音对话+DALL-E3文生图+文档对话总结
一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…...

经验 | IDEA常用快捷键
1、编辑(Editing) Ctrl Space 基本的代码完成(类、方法、属性) Ctrl Alt Space 快速导入任意类 Ctrl Shift Enter 语句完成 Ctrl P 参数信息(在方法中调用参数) Ctrl Q 快速查看文档 Shift F…...

spark中 write.csv时, 添加第一行的标题title
在 Spark 中使用 write.csv 写入 CSV 文件时,默认情况下是不会在文件中添加标题行的。但是,你可以通过设置 header 选项来控制是否包含标题行。 下面是一个示例: val data Seq((1, "John", 28),(2, "Alice", 22),(3, …...

HTML美化网页
使用CSS3美化的原因 用css美化页面文本,使页面漂亮、美观、吸引用户 可以更好的突出页面的主题内容,使用户第一眼可以看到页面主要内容 具有良好的用户体验 <span>标签 作用 能让某几个文字或者某个词语凸显出来 有效的传递页面信息用css美化页面文本,使页面漂…...

nn.LSTM个人记录
简介 nn.LSTM参数 torch.nn.lstm(input_size, "输入的嵌入向量维度,例如每个单词用50维向量表示,input_size就是50"hidden_size, "隐藏层节点数量,也是输出的嵌入向量维度"num_layers, "lstm 隐层的层数,默认…...

vr虚拟高压电器三维仿真展示更立体全面
VR工业虚拟仿真软件的应用价值主要体现在以下几个方面: 降低成本:通过VR技术进行产品设计和开发,可以在虚拟环境中进行,从而减少对物理样机的依赖,降低试错成本和时间。此外,利用VR技术构建的模拟场景使用方…...

轮廓平滑方法
目录 1. 形态学操作 2. 边缘平滑化 3. 轮廓近似 python 有回归线平滑 2D 轮廓 1. 形态学操作 利用形态学操作(例如腐蚀、膨胀、开运算、闭运算等)可以使分割边界更加平滑和连续。腐蚀可以消除小的不连续区域,膨胀可以填充空洞࿰…...

十大VSCODE 插件推荐2023
1、海鲸AI 插件链接:ChatGPT GPT-4 - 海鲸AI - Visual Studio Marketplace 包含了ChatGPT(3.5/4.0)等多个AI模型。可以实现代码优化,代码解读,代码bug修复等功能,反应迅捷,体验出色,是一个多功能的AI插件…...

HBase 集群搭建
文章目录 安装前准备兼容性官方网址 集群搭建搭建 Hadoop 集群搭建 Zookeeper 集群解压缩安装配置文件高可用配置分发 HBase 文件 服务的启停启动顺序停止顺序 验证进程查看 Web 端页面 安装前准备 兼容性 1)与 Zookeeper 的兼容性问题,越新越好&#…...

大三了,C++还算可以从事什么岗位比较好?
大三了,C还算可以从事什么岗位比较好? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「c的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家…...

java 贪吃蛇游戏
前言 此实现较为简陋,如有错误请指正。 其次代码中的图片需要自行添加地址并修改。 主类 public class Main { public static void main(String[] args) { new myGame(); } } 1 2 3 4 5 游戏类 import javax.swing.*; import java.awt.eve…...