首页 > 其他 > 详细

mongo 4.0以下版本 类型转换

时间:2019-03-20 16:02:53      阅读:37      评论:0      收藏:0      [点我收藏+]

标签:get   值转换   结果   value   bsp   class   field   fields   use   

1.文档格式

 "Values" : [ 
        {
            "key" : "姓名",
            "value" : "jenny"
        }, 
        {
            "key" : "年龄",
            "value" : "20"
        }]

2.查询

将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"]]}
            }
          }
        }
      }
  },
  {$addFields:{"ValueObj.Values":"$Values"}},
  {$replaceRoot:{newRoot:"$ValueObj"}},
  {$sort:{"姓名":-1}},
 
])

3.结果

"姓名" : "jenny",
    "年龄" : 20,
"Values" : [
        {
            "key" : "姓名",
            "value" : "jenny"
        }, 
        {
            "key" : "年龄",
            "value" : "20"
        }]

 

mongo 4.0以下版本 类型转换

标签:get   值转换   结果   value   bsp   class   field   fields   use   

原文:https://www.cnblogs.com/Jenny-1/p/10565224.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 designnerd.net 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号