sql - 使用 SQL 将字符串列转换为 mongodb 中的日期时间
问题描述
我在 mongodb 表 ALTMETRIC_2018 中加载了 json 数据,并且我正在使用 SQL 进行查询(我对 mongo 查询语言一无所知)。问题是该citation.pubdate
列的类型是字符串,我想使用 SQL 将其更改为日期类型。常见的 SQL 命令(如“更改列”或函数)在这里不起作用。请指导我我被卡住了
解决方案
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 } });
});
如果您的日期不是有效格式,也许您必须更改日期转换器。
推荐阅读
- spring - JPA Select 查询需要更多时间 - 超过 60 秒
- python - 将 dict 转储到现有的 yaml 文件中,只需在使用 ruamel.yaml 进行更新时将 dict 字符串表示形式写入文件
- java - 一个按钮应该在一分钟内只点击两次,我应该如何检查它?
- python - 当循环运行很长时间时,在循环中运行 django factory 不会创建所需数量的实例
- javascript - 我的水平滚动框没有正确对齐(下降)?
- javascript - 如何使用 Javascript dom 编辑特定的 html 元素?
- r - 为什么使用多个预测变量运行 MANOVA 无关紧要,但一次只有一个变量却很重要,我应该依赖哪个?
- javascript - 使用 Javascript 选择下拉菜单值或文本
- java - 如何使用 dataSnapshot.hasChildren() 检查 recyclerview 是否为空
- python - 当我使用 python 创建文件时我的文件在哪里