我正在分析一個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