5

我正在尝试在 MongoDB 中为子文档中的多个字段创建文本索引。这些字段因文档而异。 根据文档,我会像这样创建一个普通的文本索引:

db.collection.ensureIndex({
    subject: "text",
    content: "text"
});

就我而言,我希望fs.files集合中所有字段的索引位于db.fs.files.metadata. 我试过这个:

db.fs.files.ensureIndex({'metadata.$**': 'text'});

我认为这不起作用,因为搜索db.fs.files.runCommand('text'...返回零结果,并将db.fs.files.stats()索引显示为非常小的大小(并且我在这个集合中有大约 35k 文档)。

如何在事先不知道键的子文档的字段值上创建文本索引?

4

1 回答 1

4

如果您在父文档上创建 {'$**': 'text'} 索引,它也会索引子文档字段。文档说它只影响文本,所以它会跳过文件数据,但会包括名称和内容类型。

于 2013-10-09T09:30:31.157 回答