支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。将多个文档合并为单个文档。
Document 表达式
使用形式如下: 在 group() 中使用时:
mergeObjects(<document>)
在其它表达式中使用时:
mergeObjects([<document1>, <document2>, ...])
假设集合 sales 存在以下文档:
{ "_id": 1, "year": 2018, "name": "A", "volume": { "2018Q1": 500, "2018Q2": 500 } }
{ "_id": 2, "year": 2017, "name": "A", "volume": { "2017Q1": 400, "2017Q2": 300, "2017Q3": 0, "2017Q4": 0 } }
{ "_id": 3, "year": 2018, "name": "B", "volume": { "2018Q1": 100 } }
{ "_id": 4, "year": 2017, "name": "B", "volume": { "2017Q3": 100, "2017Q4": 250 } }
下面的代码使用 mergeObjects(),将用相同 name 的文档合并:
const $ = db.command.aggregate
db.collection("sales").aggregate()
.group({
_id: "$name",
mergedVolume: $.mergeObjects("$volume")
})
.end()
输出如下:
{ "_id": "A", "mergedVolume": { "2017Q1": 400, "2017Q2": 300, "2017Q3": 0, "2017Q4": 0, "2018Q1": 500, "2018Q2": 500 } }
{ "_id": "B", "mergedVolume": { "2017Q3": 100, "2017Q4": 250, "2018Q1": 100 } }
假设集合 test 存在以下文档:
{ "_id": 1, "foo": { "a": 1 }, "bar": { "b": 2 } }
{ "_id": 2, "foo": { "c": 1 }, "bar": { "d": 2 } }
{ "_id": 3, "foo": { "e": 1 }, "bar": { "f": 2 } }
下面的代码使用 mergeObjects(),将文档中的 foo 和 bar 字段合并为 foobar:
const $ = db.command.aggregate
db.collection("sales").aggregate()
.project({
foobar: $.mergeObjects(["$foo", "$bar"])
})
.end()
输出结果如下:
{ "_id": 1, "foobar": { "a": 1, "b": 2 } }
{ "_id": 2, "foobar": { "c": 1, "d": 2 } }
{ "_id": 3, "foobar": { "e": 1, "f": 2 } }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。将一个对象转换为数组。方法把对象的每个键值对都变成输出数组的一个元素,元素形如 { k: <key>, v: <value> }。
语法如下:
db.command.aggregate.objectToArray(<object>)
假设集合 items 有如下记录:
{ "_id": 1, "attributes": { "color": "red", "price": 150 } }
{ "_id": 2, "attributes": { "color": "blue", "price": 50 } }
{ "_id": 3, "attributes": { "color": "yellow", "price": 10 } }
const $ = db.command.aggregate
db.collection("items").aggregate()
.project({
array: $.objectToArray("$attributes")
})
.end()
返回结果如下:
{ "_id": 1, "array": [{ "k": "color", "v": "red" }, { "k": "price", "v": 150 }] }
{ "_id": 2, "array": [{ "k": "color", "v": "blue" }, { "k": "price", "v": 50 }] }
{ "_id": 3, "array": [{ "k": "color", "v": "yellow" }, { "k": "price", "v": 10 }] }
config 是一个包含了 Vue 应用全局配置的对象。你可以在应用挂载前修改其以下 property:const app = Vue.createApp({})app.conf...
#componentProps:is - string | Component用法:渲染一个“元组件”为动态组件。依 is 的值,来决定哪个组件被渲染。is 的值是...
本节代码示例使用单文件组件的语法本指南假定你已经阅读了组合式 API 简介和响应性基础。如果你不熟悉组合式 API,请先阅读此文...
#表单当创建一个表单,你可能使用到以下几个元素:form、label、input、textarea 和 button。标签通常放置在表单字段的顶部或左...