db.events.find().forEach(function(doc) {
// printjson ("Document is " + doc);
var isoDate = doc.t; // t is correct key?
var isoString = isoDate.toISOString()
// update the collection with string using a new key
db.events.update(
{"_id":doc._id},
{
$set: {"iso_str":isoString}
}
);
// or overwrite using 't' key db.events.update({"_id":doc._id},{$set:{"t":isoString}});
})
7条答案
按热度按时间gg58donl1#
我得到了预期的结果,而我正在尝试以下。
字符串
这会把绳子还给我给予
型
9lowa7mx2#
也许只是简单地将日期转换为字符串?这与mongo的关系比js.moment更小。moment很棒,但在mongo shell脚本中无法使用。
字符串
8xiog9wr3#
我刚刚遇到这个问题。ISODate中没有内置任何东西。所以我将ISODate转换为JSON文本,然后我做一个子字符串来获取我想要的部分。您也可以使用ISODate上的方法来分别获取年,月,日期,然后合并将它们组合起来。
字符串
k2arahey4#
我假设您需要的是dateToString函数https://docs.mongodb.com/manual/reference/operator/aggregation/dateToString/
jgzswidk5#
如果你在一个属性中混合了数据类型[string & ISODate()],并且仍然想将它们规范化为一种数据类型,例如'string',那么
字符串
参考资料:
4ktjp1zp6#
字符串
zrfyljdw7#
我遇到了这个问题,因为我想要这个特定的格式
YYYY-MM-DD HH:MM:SS
,我只是使用String
构造函数方法来获得一个包含所有组件的字符串。例如,对于存储在某个文档的
datetime
字段中的日期2023-11-15 08:55:05.426Z
,如果我调用:字符串
我明白了:
型
所以我写了一个自定义函数来按照我想要的方式重新格式化这个字符串。
下面是最后一个函数:
型
因此,使用
String
构造函数,您可以获得一个易于操作的字符串。