zoukankan      html  css  js  c++  java
  • demo_10_01 云数据库聚合_addFields_02

    // 1. 数据库数据
    // {
    //  "vehicles": { // 集合(表名)
    //      "data": [ // 数据
    //          {
    //              "_id": 1,
    //              "type": "car",
    //              "specs": {
    //                  "doors": 4,
    //                  "wheels": 4
    //              }
    //          },
    //          {
    //              "_id": 2,
    //              "type": "motorcycle",
    //              "specs": {
    //                  "doors": 0,
    //                  "wheels": 2
    //              }
    //          },
    //          {
    //              "_id": 3,
    //              "type": "jet ski"
    //          }
    //      ]
    //  }
    // }

    // 02. 聚合操作
    'use strict';
    const db = uniCloud.database();
    const $ = db.command.aggregate;
    exports.main = async(event, context) => {
        /* 示例1:在嵌套记录里增加字段
        
        const msg = db.collection('vehicles').aggregate()
            .addFields({
                // 在已有的集合里添加字段,而不是创建新的集合
                'specs.fuel_type': 'unleaded'
            })
            .end();
            
        */

        // 示例2:设置字段值为另一个字段
        const msg = db.collection('vehicles').aggregate()
            // 添加了一个新字段
            .addFields({
                vehicle_type: '$type'
            })
            .end()

        return msg;
    };

    // 聚合之后的返回值
    /* 示例1:

    {
        "affectedDocs": 3,
        "data": [{
            "_id": 1,
            "specs": {
                "doors": 4,
                "fuel_type": "unleaded",
                "wheels": 4
            },
            "type": "car"
        }, {
            "_id": 2,
            "specs": {
                "doors": 0,
                "fuel_type": "unleaded",
                "wheels": 2
            },
            "type": "motorcycle"
        }, {
            "_id": 3,
            "specs": {
                "fuel_type": "unleaded"
            },
            "type": "jet ski"
        }]
    }

    */

    /* 示例2:

    {
        "affectedDocs": 3,
        "data": [{
            "_id": 1,
            "specs": {
                "doors": 4,
                "wheels": 4
            },
            "type": "car",
            "vehicle_type": "car"
        }, {
            "_id": 2,
            "specs": {
                "doors": 0,
                "wheels": 2
            },
            "type": "motorcycle",
            "vehicle_type": "motorcycle"
        }, {
            "_id": 3,
            "type": "jet ski",
            "vehicle_type": "jet ski"
        }]
    }

    */
  • 相关阅读:
    vscode webstrom 配置 eslint 使用 airbnb 规范
    IntelliJ idea webstrom Visual Studio Code vscode 设置cmder为默认终端 Terminal
    intellij idea 大内存优化配置 idea64.exe.vmoptions文件配置
    解决因 gtx 显卡而导致的 google chrome 颜色显示不正常。色彩变淡发白,其实很简单
    href=http:// href=// 的区别,src=http:// src=// 的区别。 链接里不带http,链接里直接使用双斜线 // 有什么不同。http://和//有什么区别?
    前后端分离之fiddler前端开发代理 autoresponder 正则表达式 regex:(?insx) 修正符详解
    开发环境部署脚手架搭建 步骤
    开发环境部署git 步骤
    requestAnimationFrame移动端实现回到顶部效果
    占位图片
  • 原文地址:https://www.cnblogs.com/luwei0915/p/13385113.html
Copyright © 2011-2022 走看看