SDK数据是指软件开发工具包(Software Development Kit)中的数据。它是一种用于开发应用程序的软件工具包,可以帮助开发人员快速创建和部署应用程序。SDK数据包含了一系列的API、文档、代码样例、工具和其他资源,这些资源都能够帮助开发人员快速实现特定的功能。
SDK数据有助于减少开发时间,并且能够帮助开发人员在有限的时间内实现最佳性能。使用SDK数据,开发人员不需要重新创建所有代码,而是直接使用SDK中的API来实现特定的功能。此外,SDK还包含一些文档和代码样例,这些文档和代码样例可以帮助开发人员快速理解如何使用SDK中的API来实现特定的功能。
// 使用 SDK 数据来创建一个应用 var app = new SDK.Application(); app.init(); app.run();
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合阶段。添加新字段到输出的记录。经过 addFields 聚合阶段,输出的所有记录中除了输入时带有的字段外,还将带有 addFields 指定的字段。
addFields 等同于同时指定了所有已有字段和新增字段的 project 阶段。
addFields 的形式如下:
addFields({
<新字段>: <表达式>
})
addFields 可指定多个新字段,每个新字段的值由使用的表达式决定。
如果指定的新字段与原有字段重名,则新字段的值会覆盖原有字段的值。注意 addFields 不能用来给数组字段添加元素。
假设集合 scores 有如下记录:
{
_id: 1,
student: "Maya",
homework: [ 10, 5, 10 ],
quiz: [ 10, 8 ],
extraCredit: 0
}
{
_id: 2,
student: "Ryan",
homework: [ 5, 6, 5 ],
quiz: [ 8, 8 ],
extraCredit: 8
}
应用两次 addFields,第一次增加两个字段分别为 homework 和 quiz 的和值,第二次增加一个字段再基于上两个和值求一次和值。
const $ = db.command.aggregate
db.collection("scores").aggregate()
.addFields({
totalHomework: $.sum("$homework"),
totalQuiz: $.sum("$quiz")
})
.addFields({
totalScore: $.add(["$totalHomework", "$totalQuiz", "$extraCredit"])
})
.end()
返回结果如下:
{
"_id" : 1,
"student" : "Maya",
"homework" : [ 10, 5, 10 ],
"quiz" : [ 10, 8 ],
"extraCredit" : 0,
"totalHomework" : 25,
"totalQuiz" : 18,
"totalScore" : 43
}
{
"_id" : 2,
"student" : "Ryan",
"homework" : [ 5, 6, 5 ],
"quiz" : [ 8, 8 ],
"extraCredit" : 8,
"totalHomework" : 16,
"totalQuiz" : 16,
"totalScore" : 40
}
可以用点表示法在嵌套记录里增加字段。假设 vehicles 集合含有如下记录:
{ _id: 1, type: "car", specs: { doors: 4, wheels: 4 } }
{ _id: 2, type: "motorcycle", specs: { doors: 0, wheels: 2 } }
{ _id: 3, type: "jet ski" }
可以用如下操作在 specs 字段下增加一个新的字段 fuel_type,值都设为固定字符串 unleaded:
db.collection("vehicles").aggregate()
.addFields({
"spec.fuel_type": "unleaded"
})
.end()
返回结果如下:
{ _id: 1, type: "car",
specs: { doors: 4, wheels: 4, fuel_type: "unleaded" } }
{ _id: 2, type: "motorcycle",
specs: { doors: 0, wheels: 2, fuel_type: "unleaded" } }
{ _id: 3, type: "jet ski",
specs: { fuel_type: "unleaded" } }
可以通过 $ 加字段名组成的字符串作为值的表达式来设置字段的值为另一个字段的值。
同样用上一个集合示例,可以用如下操作添加一个字段 vehicle_type,将其值设置为 type 字段的值:
db.collection("vehicles").aggregate()
.addFields({
vehicle_type: "$type"
})
.end()
返回结果如下:
{ _id: 1, type: "car", vehicle_type: "car",
specs: { doors: 4, wheels: 4, fuel_type: "unleaded" } }
{ _id: 2, type: "motorcycle", vehicle_type: "motorcycle",
specs: { doors: 0, wheels: 2, fuel_type: "unleaded" } }
{ _id: 3, type: "jet ski", vehicle_type: "jet ski",
specs: { fuel_type: "unleaded" } }
操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是 attribute,所以我们可以用 v-bind 处理它们:只需要...
#概览非兼容:data 组件选项声明不再接收纯 JavaScript object,而需要 function 声明。当合并来自 mixin 或 extend 的多个 data...
呼声非常高的编辑器相关的需求就是 Tab 的支持了。VS Code 虽然一直以来技术上是支持 Tab 的,但是并不会显示出来,而是要求你按...
介绍两个比较实用的功能:取色器 Color Picker和CSS 选择器的预览。取色器 Color Picker首先,你可以在书写 HTML 和 CSS 时使用...
为了检验LNMP动态网站环境是否配置妥当,可以使用在上面部署Discuz!系统,然后查看结果。如果能够在LNMP动态网站环境中成功安装...
core 模块Nginx 的启动模块启动模块从启动 Nginx 进程开始,做了一系列的初始化工作,源代码位于src/core/nginx.c,从 main 函数...
在名字空间级别应用Pod安全标准Note本教程仅适用于新集群。Pod安全准入(PSA)在v1.23及更高版本默认启用,因为它升级到测试版(...