在MongoDB中将日期字符串转换为Long

时间:2019-06-10 05:57:03

标签: mongodb type-conversion long-integer

已经有一些基本的转化问题。

我刚接触MongoDB时,需要有关此特定转换的帮助:

最后修改日期被保存为我的文档中的String(“ last_modification”:“ / Date(1520430205000)/” )数据类型。 我只需要从字段中获取numeric(1520430205000)值,并将其转换为long。

转换后,最后修改值应为1520430205000作为 long 数据类型。

1 个答案:

答案 0 :(得分:1)

您可以使用$trim删除所有不代表数字的字符,然后运行$toLong运算符。这两个运算符在MongoDB 4.0或更高版本中均可用。试试:

db.collection.aggregate([
    {
        $addFields: {
            last_modification: {
                $trim: {
                    input: "$last_modification",
                    chars: "/Date()"
                }
            }
        }
    },
    {
        $addFields: {
            last_modification: {
                $toLong: "$last_modification"
            }
        }
    },
    { $out: "collection" }
])

MongoDB Playground

编辑:您可以使用$out修改现有集合