Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get ObjectID in mongolite R library

I can successfully retrieve data from my mongoDB instance but need to re-use the objectID for a depending query.

The following code seems to get my entire object but NOT the id. What am I missing?

# Perform a query and retrieve data
mongoOBj <- m$find('{"em": "[email protected]"}')
like image 587
DirkLX Avatar asked Dec 18 '15 16:12

DirkLX


2 Answers

I realise this is an old question and OP has probably figured it out by now, but I think the answer should be

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

instead of

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

In the second case, the result will be a data frame containing ONLY the IDs. The first line will result in a data frame containing the queried data, including the IDs.

By default, field = '{"_id": 0}', meaning _id is not part of the output.

like image 107
Pavlova Avatar answered Oct 02 '22 10:10

Pavlova


If you look at the documentation you see that the find method takes a field argument, where you specify the fields you want:

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

So in your case it will be something like

mongoOBj <- m$find(query = '{"em": "[email protected]"}', field = '{"_id": 1}')
like image 22
tospig Avatar answered Oct 02 '22 08:10

tospig