mongo 4.0以下版本 类型转换
.文档格式 "Values" : [
{
"key" : "姓名",
"value" : "jenny"
},
{
"key" : "年龄",
"value" : ""
}]
.查询 将values字段平铺到根。并将年龄字段值转换成int。按姓名降序 db.getCollection('Users').aggregate([
{$addFields: {
ValueObj: {
$arrayToObject: {
$map: {
input: "$Values",
as: "field",
//单个条件
// in: {$cond:[{$eq:["$$field.key","年龄"]},["$$field.key", NumberInt("$$field.value")],["$$field.key", "$$field.value"]]}
//多个条件。3.4版本
in:{$switch:{branches:[{case:{$eq:["$$field.key","年龄"]},then:["$$field.key", NumberInt("$$field.value")]},
{case:{$eq:["$$field.key","年龄"]},then:["$$field.key", NumberInt("$$field.value")]}],
default:["$$field.key", "$$field.value"]}} }
}
}
}
},
{$addFields:{"ValueObj.Values":"$Values"}},
{$replaceRoot:{newRoot:"$ValueObj"}},
{$sort:{"姓名":-}}, ])
.结果 "姓名" : "jenny",
"年龄" : ,
"Values" : [
{
"key" : "姓名",
"value" : "jenny"
},
{
"key" : "年龄",
"value" : ""
}]
mongo 4.0以下版本 类型转换的更多相关文章
- 记录一次MongoDB3.0.6版本wiredtiger与MMAPv1引擎的写入耗时对比
一.MongoDB3.0.x的版本特性(相对于MongoDB2.6及以下): 增加了wiredtiger引擎: 开源的存储引擎: 支持多核CPU.充分利用内存/芯片级别缓存(注:10月14日刚刚发布的 ...
- MongoDBV3.0.7版本(shard+replica)集群的搭建及验证
集群的模块介绍: 从MongoDB官方给的集群架构了解,整个集群主要有4个模块:Config Server.mongs. shard.replica set: Config Server:用来存放集群 ...
- 【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo
一.引言: 在storm发布到0.9.x以后,配置storm将会变得简单很多,也就是只需要配置zookeeper和storm即可,而不再需要配置zeromq和jzmq,由于网上面的storm配置绝大部 ...
- 【原】webapp开发中兼容Android4.0以下版本的css hack
话说现在的手机型号越来越多,主要还是android和ios这2个巨头称霸了江湖,而他们自带的浏览器内核是webkit,那对于做移动网页开发的同事来说,一般只要做好webkit内核浏览器的展现效果就行了 ...
- HBase1.0以上版本的API改变
HBase1.0以上版本已经废弃了 HTableInterface,HTable,HBaseAdmin等API的使用,新增了一些API来实现之前的功能: Connectioninterface: Co ...
- Linux下安装配置MongoDB 3.0.x 版本数据库
说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.128 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...
- 升级时出现:请先升级 UCenter 到 1.6.0 以上版本。
有的站点UCenter升级完成后仍然提示请先升级 UCenter 到 1.6.0 以上版本的现象,下面分享下UCenter版本号不正确的原因和处理办法,可能有以下的几个文件和处理办法: 一.UCent ...
- Unity NGUI 3.0.4版本 制作网络版斗地主
Unity NGUI 3.0.4版本 @by 灰太龙 开发环境 Win7旗舰版 Unity 4.2.1f4 本文就写个开门篇,告诉大家怎么用NGUI,第一步导入NGUI 3.0.4版本! 1.启动U ...
- 小菜学习Lucene.Net(更新3.0.3版本使用)
花了两天的时间研究了下Lucene.Net 发现确实挺好玩.... 最新版本是3.0.3 (最后更新时间2012-10) 可惜3.0.3版本的Lucene.net无法和盘古分词 (最新版为2.3.1. ...
随机推荐
- [Xcode 实际操作]五、使用表格-(2)设置UITableView单元格高度
目录:[Swift]Xcode实际操作 本文将演示如何制作一个自定义行高的表格视图 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //首 ...
- 算法学习分析-点分治 HDU 6269 Master of Subgraph
首先给出定义 点分治是一种处理树上路径的工具 挂出一道题目来:Master of Subgraph 这道题目让你求所有联通子图加和所能产生数字,问你1到m之间,那些数字可以被产生 这道题目,假如我们利 ...
- jquery json实现省市级级联
java后台程序: import java.util.HashMap;import java.util.List;import java.util.Map; import javax.servlet. ...
- kvm磁盘io优化以及性能测试以及与物理机对比
ubuntu下kvm的磁盘io性能优化步骤 1.virsh shutdown wcltest2 2.virsh edit wcltest2 <driver name='qemu' type='q ...
- P2062 分队问题(贪心orDP)
题目描述 给定n个选手,将他们分成若干只队伍.其中第i个选手要求自己所属的队伍的人数大等于a[i]人. 在满足所有选手的要求的前提下,最大化队伍的总数. 注:每个选手属于且仅属于一支队伍. 输入输出格 ...
- Restful 3 -- 序列化组件(GET/PUT/DELETE接口设计)、视图优化组件
一.序列化组件 基于上篇随笔的表结构,通过序列化组件的ModelSerializer设计如下三个接口: GET 127.0.0.1:8000/books/{id} # 获取一条数据,返回值:{} PU ...
- 提高mysql千万级大数据SQL查询优化30条经验
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- 读书笔记 - 《梦想与浮沉:A股十年上市博弈》
拿到这本书是个很偶然的事件.有几本软件业书由于太老已经绝版,偶然想到小区的图书馆自动借阅机和读者证的预借功能,就兴冲冲的跑去尝试.没想到预借只能在网页上进行,就随手从机器里借了这本书.没想到细观之下让 ...
- (转)linux 中使用ls指定输出时间格式
linux 中使用ls指定输出时间格式 原文:http://blog.csdn.net/chaofanwei/article/details/13018753 ls -l --time-style=x ...
- CentOS安装MySQL,(常规安装方式MySQL无法远程连接)
转载自:https://blog.csdn.net/z13615480737/article/details/78906598 CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ...