2015-12-18 51 views
3

我可以成功从我的mongoDB实例中检索数据,但需要重新使用对象ID作为依赖查询。在mongolite R库中获取对象ID

下面的代码似乎得到我的整个对象,但不是id。我错过了什么?

# Perform a query and retrieve data 
mongoOBj <- m$find('{"em": "[email protected]"}') 

回答

3

如果你看看the documentation你看到find方法采用field的说法,在这里你指定你想要的字段:

find(query = ’{}’, fields = ’{"_id" : 0}’, sort = ’{}’, skip = 0, limit = 0, handler = NULL, pagesize = NULL) 

所以你的情况会是这样的

mongoOBj <- m$find(query = '{"em": "[email protected]"}', field = '{"_id": 1}') 
0

我意识到这是一个老问题,OP现在可能已经想通了,但我认为答案应该是

mongoOBj <- m$find(query = '{"em": "[email protected]"}', field = '{}') 

代替

mongoOBj <- m$find(query = '{"em": "[email protected]"}', field = '{"_id": 1}') 

在第二种情况下,结果将是仅包含的ID的数据帧。第一行将产生一个包含查询数据的数据框,其中包括ID。

默认情况下,field = '{"_id": 0}',含义_id不是输出的一部分。