具有排序内部字段的Mongo查询返回的结果少于集合中的结果

时间:2019-11-12 09:13:38

标签: mongodb azure-cosmosdb-mongoapi

Mongodb包含具有以下对象的集合,

带有lastTrip的对象:

   {
        "usage" : 0,
        "lastMaintenanceDate" : NumberLong(1572600811104),
        "lastTrip" : {
            "direction" : "DOWN",
             "startLevel" : 5
             }
  }

没有lastTrip的对象:

{
            "usage" : 0,
            "lastMaintenanceDate" : NumberLong(1572600811104),

    }

以下查询用于排序检索数据

Query one:
    db.getCollection('some_collection').find({}).sort({"lastTrip.startLevel":1})

这仅返回具有字段lastTrip的对象,即使collection包含不具有该字段的对象也是如此。

此问题导致我对以下查询的计数错误,

Query two:
    db.getCollection('some_collection').find({}).sort({"lastTrip.startLevel":1}).count()

预期结果:

Query one > 20 documents
Query two > 20

实际结果:

Query one > 15 documents
Query two > 20

查询(对于查询一)获取没有字段lastTrip的对象的正确方法是什么?

0 个答案:

没有答案