首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定期将opendata(Json文件)更新为mongoDB

如何定期将opendata(Json文件)更新为mongoDB
EN

Stack Overflow用户
提问于 2015-08-25 12:35:28
回答 1查看 185关注 0票数 0

我是mongoDB的新手,希望有人能提示我如何完成这个任务。

我有一个opendata:

http://data.taipei/opendata/datalist/apiAccess?scope=resourceAquire&rid=9ba187c9-b07e-40bc-9aa5-8d3c9f1aad63

Q1:由于某些原因,这个Opendata不包含数据的时间框架,所以在我将json文件保存并导入到mongodb之前,我想将当前的时间框架添加到其中,这样做最有效的方法是什么?

Q2: opendata将每5分钟更新一次,我希望每5分钟将它同步到mongodb。(合并但不要覆盖,记录相同时不要合并)。我的想法是使用crontab每5分钟执行一个脚本,但我不确定这些脚本是否应该使用mongoImport,因为mongoImport似乎会覆盖整个DB文件,而不是覆盖。那么有什么建议去做这个任务吗?

PS:最后,我可能使用R来分析数据,但这是另一个故事,我需要做的第一个任务是定期导入数据。希望有人能给我指路。

谢谢你的帮忙!

向詹姆斯问好

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-25 12:47:49

我不知道确切的数据是什么,但我的建议是解析json文件,然后更新或创建现有字段,并添加"updated_at“字段。下面是伪代码:

代码语言:javascript
复制
for each elem in json["results"] do

     existing = Data.where(:id=>elem["id"]).first  # find if there is already a field for this id

     if existing==null then   # if no create it
         existing = Data.new(:id=>elem["id"])
     end
     existing.update(elem)    # update all json data, depending of your language
     existing.updated_at=Time.now
     existing.save
end

mongoImport只用于将数据导出/导入到备份/还原数据库或其他一些非常具体的用例,而不是在正常的操作过程中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32204200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档