mongo 4.0以下版本 类型转换

Posted jenny-1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongo 4.0以下版本 类型转换相关的知识,希望对你有一定的参考价值。

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以下版本 类型转换的主要内容,如果未能解决你的问题,请参考以下文章

反应式 mongo 模板:mongo 4.4.0 上的“''cursor' 选项是必需的”

POI使用 (4.0) 常用改动

浏览器版本类型及版本

在代码片段中包含类型转换

pymongo 4.0的‘Cursor‘ object has no attribute ‘count‘异常

pymongo 4.0的‘Cursor‘ object has no attribute ‘count‘异常