我正在分析一个MongoDB数据源来检查其质量。 我想知道如果每个文档包含属性time
:所以我用这个两个命令MongoDB:查询结果大小大于集合大小
> db.droppay.find().count();
291822
> db.droppay.find({time: {$exists : true}}).count()
293525
我怎么能比包含在整个集合中的元素某一领域更多的元素?出了什么问题?我无法找到这个错误。 如果有必要我可以发布文档的预期结构。
Mongo Shell版本是1.8.3。 Mongo Db版本是1.8.3。
在此先感谢
这是文档录入的预期结构:
{
"_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"
}
多数民众赞成在完全奇怪,你可以更新文件结构.... – RameshVel
我可以插入,更新和阅读集合。 我用预期的文档结构更新了答案。 – LoSciamano
难道它也算“时间戳”吗?您也可以尝试查找哪些对象在“exists”查询中被多次计数(按照http://stackoverflow.com/questions/4224773/fast-way-to-find-duplicates-on-indexed-column-在-mongodb的)。 “explain()”输出中是否有一些有趣的内容?你是否重命名该字段? – mikalai