Mongo - 要查询字符串的空对象

时间:2018-03-08 20:32:49

标签: mongodb mongodb-query

transporters.count({ '$and': [ {} ] })

transporters.count({ })

是否一样?

空对象是否可能导致速度问题?

1 个答案:

答案 0 :(得分:1)

是的,两个查询都被认为是相同的。

这可以在两个查询的explain output中看到:

> db.test.explain().count({})
{
  "queryPlanner": {
    "plannerVersion": 1,
    "namespace": "test.test",
    "indexFilterSet": false,
    "winningPlan": {
      "stage": "COUNT"
    },
    "rejectedPlans": [ ]
  },
....

> db.test.explain().count({$and:[{}]})
{
  "queryPlanner": {
    "plannerVersion": 1,
    "namespace": "test.test",
    "indexFilterSet": false,
    "winningPlan": {
      "stage": "COUNT"
    },
    "rejectedPlans": [ ]
  },
....

两个查询的explain()输出相同,这意味着两个查询都将以相同的方式执行。