Estoy analizando una fuente de datos MongoDB para verificar su calidad. Me pregunto si cada documento contiene el atributo time
: por lo que utiliza este comando dosMongoDB: tamaño del resultado de la consulta mayor que el tamaño de la colección
> db.droppay.find().count();
291822
> db.droppay.find({time: {$exists : true}}).count()
293525
¿Cómo puedo tener más elementos con un campo dado que los elementos contenidos en la colección entera? ¿Qué está mal? No puedo encontrar el error. Si es necesario, puedo postearle la estructura esperada del documento.
La versión de Mongo Shell es 1.8.3. La versión de Mongo Db es 1.8.3.
Gracias de antemano
Ésta es la estructura esperada de la entrada de documento:
{
"_id" : ObjectId("4e6729cc96babe974c710611"),
"action" : "send",
"event" : "sent",
"job_id" : "50a1b7ac-7482-4ad6-ba7d-853249d6a123",
"result_code" : "0",
"sender" : "",
"service" : "webcontents",
"service_name" : "webcontents",
"tariff" : "0",
"time" : "2011-09-07 10:22:35",
"timestamp" : "1315383755",
"trace_id" : "372",
"ts" : "2011-09-07 09:28:42"
}
eso es totalmente extraño, puede actualizar la estructura del documento .... – RameshVel
Puedo Insertar, Actualizar y Leer la colección. Actualicé la respuesta con la estructura del documento esperada. – LoSciamano
¿Podría ser que cuente también la "marca de tiempo"? También podría tratar de encontrar qué objetos se han contado más de una vez en la consulta "existe" (según http://stackoverflow.com/questions/4224773/fast-way-to-find-duplicates-on-indexed-column- in-mongodb). ¿Hay algo interesante en la salida "Explain()"? ¿Le cambió el nombre al campo? – mikalai