为什么在我的mongodb上运行查询后会得到额外的记录?
问题描述:
我需要提取名称为Complaint Id和Date的两列,从我的mongodb在R中接收。我的csv只有大约70k条记录,但是当我插入数据并获取上面的两列时,我得到> 400k条记录。任何想法为什么这可能会发生?为什么在我的mongodb上运行查询后会得到额外的记录?
使用mongolite包,这是我用来提取两列
ids <- as.data.frame(mongoDf$find(fields = '{"Complaint ID":1, "Date received":1, "_id":0}'))
答
如果您的MongoDB数据包含数组的代码,它会加载这个数据列表。在传递$ find或$ aggregate查询时,您需要在mongo查询中使用$ unwind命令。您可能还需要使用jsonlite软件包中的“flatten”。
没有看到您的数据,您用于读取csv然后将其插入到mongodb中的代码几乎不可能帮助您。试着将你的'csv'直接读入R到'data.frame'中,然后处理它以确定你的数据是否还有其他问题 – SymbolixAU