Конвертировать объект mongo в строку, используя rmongodb

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

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

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

ObjectId.toString()

а также

ObjectId.valueOf()

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

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

1 ответ

Решение

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

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

k <- mongo.oid.to.string(l[["_id"]])
k
"5242aef73edb350519b2bf3f"
Другие вопросы по тегам