我正在尝试使用 RMongo 从 R 查询一个 mongo 数据库并返回几个嵌套文档的值。
查看 RMongo 的文档,我了解以下查询:
output <- dbGetQueryForKeys(mongo, 'test_data', '{"foo": "bar"}', '{"foo":1}')
论据在哪里...
db = mongo
collection = 'test_data'
query = '{"foo": "bar"}'
keys = 'Specify a set of keys to return.'
1 in 是'{"foo":1}'
什么?这个密钥集的结构是什么?检查this blog post,我发现了如下格式:
结果 < - dbGetQueryForKeys(mongo, "items", "{'publish_date' : { '$gte' : '2011-04-01', '$lt' : '2011-05-01'}}", "{'发布日期':1,'排名':1}“)
那么,显然,键需要值 1?
如何获取嵌套文档的密钥?如果我想要类似...
output <- dbGetQueryForKeys(mongo, 'test_data', '{"foo": "bar"}', '{"foo1.foo2.foo3.foo4":1,"foo1.foo2.foo3.bar4":1}')
对于嵌套键,我目前返回的东西更像......
X_id
1 50fabd42a29d6013864fb9d7
foo1
1 { "foo2" : { "foo3" : { "foo4" : "090909" , "bar4" : "1"}}}
... whereoutput[,2]
是一个 looooong 字符串,而不是像我预期的那样作为与键 foo4 和 bar4 关联的值的两个单独变量 ("090909", "1")。