使用SQL将字符串列转换为mongodb中的日期时间

时间:2018-12-31 07:46:50

标签: sql mongodb

我在mongodb表ALTMETRIC_2018中加载了json数据,并且正在使用SQL进行查询(我对mongo查询语言一无所知)。问题是citation.pubdate列的类型为String,我想使用SQL将其更改为date类型。常规的SQL命令(例如“ alter column”或功能)在这里不起作用。请指导我,我被困住了

1 个答案:

答案 0 :(得分:1)

MongoDB中的SQL?我认为您使用的是将SQL转换为Mongo语言的Mongo IDE。 Mongo不支持SQL。

Mongo没有方案表。没有具有类型的列。每个文档(行)可以不同。每个文档中的citiation.pubdate可以不同。

如果将数据另存为DateTime,mongo会将其另存为DateTime,则不能仅更改“数据”而不能更改数据库。

更新:

创建一个查找所有数据,更改日期并保存的脚本。

db.collectionName.find().forEach(function(d) {
  var date = d.citation.pubdate;
  var asDate = new ISODate(date);


 db.collectionName.updateOne({_id: d._id}, { $set: { "citation.pubdate": asDate } });


});

如果您的日期格式无效,也许必须更改日期转换器。