为什么在我的mongodb上运行查询后会得到额外的记录?

时间:2017-04-23 15:40:20

标签: r mongodb mongolite

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

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

Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Resolving dependencies...
Using sass 3.4.23
Using rb-fsevent 0.9.8
Using ffi 1.9.18
Using ruby_dep 1.5.0
Using wdm 0.1.1
Using colorator 1.1.0
Using kramdown 1.13.2
Using liquid 3.0.6
Using mercenary 0.3.6
Using forwardable-extended 2.6.0
Using rouge 1.11.1
Using safe_yaml 1.0.4
Using bundler 1.13.6
Using bunto-sass-converter 2.0.0
Using rb-inotify 0.9.8
Using pathutil 0.14.0
Using listen 3.1.5
Using bunto-watch 1.0.0
Using bunto 3.2.1
Bundle complete! 2 Gemfile dependencies, 19 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

1 个答案:

答案 0 :(得分:0)

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