1

以下代码给我带来了一些麻烦:

  /**
   *
   * finds all distinct values of HybridTypes for the Page Collection
   */
  def findDistinctTypeValues(): List[String] = {
    //cast all instances from Any to String
    val coll = dao.collection.distinct("hybridType") map (_.asInstanceOf[String])
    coll.toList
  }

mongo 控制台告诉我相应的查询持续了大约 4 秒。该字段是一个索引字符串。

我做错了什么吗?

更新:这是运行命令的输出:

db.runCommand({distinct: 'pages',key:'hybridType'})
     "stats" : {
             "n" : 2492192,
             "nscanned" : 2492192,
             "nscannedObjects" : 0,
             "timems" : 4247,
             "cursor" : "BtreeCursor hybridType_1"
     },
     "ok" : 1

看起来它正在执行全表扫描?:/

4

0 回答 0