小编Arv*_*san的帖子

无法获取覆盖查询以仅在mongodb中使用索引

我正在尝试使用覆盖索引在我的使用mongodb的应用程序上实现词干文本搜索.

我有以下索引集:

ensureIndex({st: 1, n: 1, _id: 1});
Run Code Online (Sandbox Code Playgroud)

但是当我在查询中运行explain()时,无论我做什么,我都无法将indexOnly读成true.

db.merchants.find({st: "Blue"}, {n:1,_id:1}).explain()
{
    "cursor" : "BtreeCursor st_1_n_1__id_1",
    "nscanned" : 8,
    "nscannedObjects" : 8,
    "n" : 8,
    "millis" : 0,
    "nYields" : 0,
    "nChunkSkips" : 0,
    "isMultiKey" : true,
    "indexOnly" : false,
    "indexBounds" : {
        "st" : [
            [
                "Blue",
                "Blue"
            ]
        ],
        "n" : [
            [
                {
                    "$minElement" : 1
                },
                {
                    "$maxElement" : 1
                }
            ]
        ],
        "_id" : [
            [
                {
                    "$minElement" : 1
                },
                {
                    "$maxElement" : …
Run Code Online (Sandbox Code Playgroud)

indexing mongodb mongoid

5
推荐指数
1
解决办法
3146
查看次数

标签 统计

indexing ×1

mongodb ×1

mongoid ×1