Конвертировать объект 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"