【问题标题】:Why do i get extra records after running query on my mongodb?为什么在我的 mongodb 上运行查询后会获得额外的记录?
【发布时间】:2017-04-23 15:40:19
【问题描述】:

我需要提取从 R 中的 mongodb 收到的名称为 Complaint Id 和 Date 的两列。我的 csv 只有大约 70k 条记录,但是当我插入数据并获取上面的两列时,我得到 > 400k 条记录。知道为什么会发生这种情况吗?

使用mongolite包,这是我用来提取两列的代码

ids <- as.data.frame(mongoDf$find( fields = '{"Complaint ID":1, "Date received":1, "_id":0}'))

【问题讨论】:

  • 没有看到您的数据,您用来读取 csv 然后将其插入 mongodb 的代码几乎不可能为您提供帮助。尝试将您的 csv 直接读入 R 到 data.frame 并努力确定您的数据是否存在您未考虑的其他问题

标签: r mongodb mongolite


【解决方案1】:

如果您的 mongodb 数据包含数组,它会将这些数据加载为列表。当您通过 $find 或 $aggregate 查询传递它时,您将需要在 mongo 查询中使用 $unwind 命令。您可能还需要使用 jsonlite 包中的“flatten”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 2015-06-20
    • 2011-02-24
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多