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

Convert Date String to Long in MongoDB

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

由于我是 MongoDB 的新手,需要有关此特定转换的帮助:

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

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

您可以使用 $trim to remove all the characters that are not representing digits and then run $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修改现有集合