2016-03-22 3 views
3

Bir mongo koleksiyonunu bir R veri çerçevesine dönüştürmeye çalışıyorum. Aynı şeyi yapmak için rmongodb paketini kullanıyorum. "ObjectId" veri türü içeren alanlarla ilgili bir sorunla karşılaşıyorum (aşağıdaki kodda "_id" sütunu), rmongodb bunları geçerli alanlar olarak algılamıyor ve bu nedenle bunları OP veri çerçevesinden hariç tutuyor. ObjectId alanlarını toplu olarak dönüştürmek veya değerlerini ayıklamak için bir yol var mı?mongo objectid'i rmongodb kullanarak string'e dönüştürür

ObjectId.toString() 

ve

ObjectId.valueOf() 

Ama bazı sözdizimsel hatalar yapıyorum ve sağ sözdizimi bulmak için görünmüyor olabilir düşünüyorum:

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

Zaten fonksiyonları denedim bu durumda çalışmak.

P.S. Tek tek kayıtları değil, tüm koleksiyonu ayrılıyorum.

+0

Şu anda toString/valueOf kullanmıyorken, ** R ** 'ya geri döndüğünüz nedir? –

+0

@JoachimIsaksson, tüm oid sütunu sadece atlanır. –

cevap

3

Bu sabah aynı problemi yaşadım. mongo.oid.to.string işlevini kullanmayı deneyin.

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

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