2016-03-22 3 views
3

Я пытаюсь преобразовать коллекцию монго в рамку данных R. Я использую пакет rmongodb, чтобы сделать то же самое. У меня возникла проблема с полями с типом данных «ObjectId» (в приведенном ниже коде, столбец «_id»), rmongodb, похоже, не распознает их как допустимые поля и, таким образом, исключает их из фрейма данных OP. Есть ли способ для массового конвертирования полей ObjectId в строку или извлечения их значений?Преобразование mongo objectid в строку с использованием rmongodb

query <- list(
mongo.bson.from.JSON(' 
{ 
"$project" : { 
"_id" :0, 
"app_id" : "$_id", 
"column_1" : "$mongo_column_1", 
######################### 

Я уже пробовал функцию:

ObjectId.toString() 

и

ObjectId.valueOf() 

Но я думаю, что я делаю некоторые синтаксические ошибки и не могу найти правильный синтаксис работать в этой ситуации.

P.S. Я разбираю всю коллекцию, а не отдельные записи.

+0

Что вы в настоящее время возвращаетесь к ** R **, когда вы не используете toString/valueOf? –

+0

@JoachimIsaksson, вся колонка oid просто пропущена. –

ответ

3

У меня была такая же проблема сегодня утром. Попробуйте использовать функцию mongo.oid.to.string.

l = mongo.bson.to.list(mongo.cursor.value(cursor)) 

k <- mongo.oid.to.string(l[["_id"]]) 
k 
"5242aef73edb350519b2bf3f" 

 Смежные вопросы

  • Нет связанных вопросов^_^