在嵌套字段上创建索引

Ker*_*ter 2 mongodb mongodb-php

我有一个 MongoDB 文档,其结构类似于以下结构。有大量这些文档,其中有数千人,所以我想通过在 people.#.search_columns.surname 和 people.#.search_columns.givenname 上放置索引来加快速度。如何在 MongoDB 中执行此操作?谢谢你的帮助。

[_id] => MongoId Object (
    [$id] => 53b1b1ab72f4f852140dbdc9
)
[name] => People From 1921
[people] => Array (
    [0] => Array (
        [name] => Barada, Valentine
        [search_columns] => Array (
            [surname] => Array (
                [0] => Mardan,
                [1] => Barada
            )
            [givenname] => Array (
                [0] => Valentine
            )
        )
    )
    [1] => Array (
        [name] => Barsaloux, Nicholas
        [search_columns] => Array (
            [surname] => Array (
                [1] => Barsaloux
            )
            [givenname] => Array (
                [0] => Nicholas
            )
            [place] => Array (
            )
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

Ger*_*osi 5

您可以使用点表示法为嵌套字段创建索引:

db.collection.ensureIndex({'people.search_columns.surname': 1});
db.collection.ensureIndex({'people.search_columns.givenname': 1});
Run Code Online (Sandbox Code Playgroud)