MongoDB:查询结果大小大于集合大小

LoS*_*ano 6 mongodb

我正在分析MongoDB数据源以检查其质量.我想知道每个文档是否包含属性time:所以我使用了这两个命令

> db.droppay.find().count();  
291822   
> db.droppay.find({time: {$exists : true}}).count()   
293525
Run Code Online (Sandbox Code Playgroud)

如何使用给定字段的元素多于整个集合中包含的元素?出了什么问题?我无法找到错误.如果有必要,我可以发布文件的预期结构.

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"
}
Run Code Online (Sandbox Code Playgroud)

lig*_*lig 0

可能存在time数组类型的值。

您可能db.droppay.find({time: {$type : 4}})会找到这样的文件。