2016-06-08 2 views
0

Как выполнить запрос, чтобы найти регистр, например find, где X2016.may = 32863. Мое решение работает для получения регистра RFC.Как запросить объекты с точками в полях в mongodb

db.getCollection('collection').find({"RFC" : "AAA020211GV8"}) 

Но это не работает для запроса других данных, не находит каких-либо записей и возвращает:

db.getCollection('input').find({"X2016.may" : 32863}) 
"Fetched 0 record(s) in 14ms" 

Это образец документа.

{ 
    "_id" : ObjectId("5756f39de030aeae54a72b6a"), 
    "RFC" : "AAA020211GV8", 
    "X2016.may" : 32863, 
    "X2016.abr" : 34071, 
    "X2016.mar" : 23793, 
    "X2016.feb" : 86647, 
    "X2016.ene" : 30864, 
    "X2015.dic" : 84694, 
    "X2015.nov" : 80124, 
    "X2015.oct" : 97883, 
    "X2015.sep" : 29913, 
    "X2015.ago" : 57526, 
    "X2015.jul" : 82927, 
    "X2015.jun" : 34261, 
    "X2015.may" : 98638, 
    "X2015.abr" : 64738, 
    "X2015.mar" : 45826, 
    "X2015.feb" : 78345, 
    "X2015.ene" : 75287, 
    "X2014.dic" : 46050, 
    "X2014.nov" : 86394, 
    "X2014.oct" : 54328, 
    "X2014.sep" : 65698, 
    "X2014.ago" : 68757, 
    "X2014.jul" : 30403, 
    "X2014.jun" : 43622 
} 

Спасибо!

+2

Как вы вставляете данные? Mongo не позволит, например, вы не можете иметь символ точки '.' в именах полей – chridam

+0

Я сделал mongo connect с R, был пакетной загрузкой с пакетом rmongodb. Имена столбцов были из моего фрейма данных ранее, чтобы сделать файл bson. Подстановка точки для другого символа (например, «_» или «-») может быть решением? – Alfredo

+0

Я принял решение, спасибо за ваши предложения. – Alfredo

ответ

0

Решение должно было заменить «.». для «_» со следующей функцией, прежде чем сделать mmongo.insert.batch() для загрузки данных в mongo.

names(df) <- gsub(" ", "_", names(df))