RMongo dbGetQueryForKeys返回NA

时间:2014-02-28 15:09:13

标签: r mongodb rmongo

我正在使用dbGetQueryForKeys函数(我learned about here),并且似乎没有获得正确的返回值---它收集正确的键,但值都是NA

这是我在mongo控制台中的查询,它产生我期望的结果:

db.final.find({},{"ids.myid":1,"org.name":1,"_id":0}).skip(0).limit(5000)

这会生成......

的列表
{"ids" : {"myid": "123"}, "org": {"name": "Fred"}},

然而,相当于RMongo:

dbGetQueryForKeys(db,'final', '{}','{"ids.myid":1,"org.name":1,"_id":0}',skip=0,limit=5000)

可生产

    ids.myid         org.name X_id
1         NA               NA   NA
2         NA               NA   NA
3         NA               NA   NA

有几个问题:

  1. 它拥有适用于所有内容的NAs
  2. X_id列仍然存在,即使它为0。
  3. 但是它确实/省略了所有其他键,所以它在某种程度上清楚地识别了命令,只是为这些返回了错误的值。

    现在,文档说明了这一点:

     The output is a data.frame object
     and will work properly only if the mongoDB collection contains
     primitive data types. It may not work properly if there are any
     embedded documents or arrays.
    

    这似乎是我查询嵌套变量的可能问题。但是,这些嵌套的返回值本身是单数,ids.myid和org.name都是字符串而不是数组。不过,情况确实如此吗? RMongo只适用于没有任何嵌套的完全平坦的集合?

0 个答案:

没有答案