猫鼬鉴别符和索引

时间:2020-02-21 16:24:58

标签: mongodb mongoose mongoose-schema mongodb-indexes

如果我用discriminator key猫鼬设置了模型,则会自动为所有查询加上区分符键。

但是,如果我将某些键定义为index: true,则所创建的索引将不以区分键作为前缀。相反,它们是具有单个键的简单索引。

这不是最理想的吗?并非所有索引都是discriminatorKey(例如__t)和我要索引的键的复合索引吗?

如果是的话,我应该代替defining indexes at the path level(通过index: true)来设置它们:

Event.index({ __t: 1, type: 1 });

1 个答案:

答案 0 :(得分:1)

没有它不是次优的。区分键使猫鼬了解您正在使用的模式/模型,并在例如时自动为您创建一个实例。查询返回。 猫鼬不知道如何您将如何使用该附加键(也许您想查询所有类型的 all 以获取特定值?还是想创建一个唯一索引)可以使用所有类型的名称?),因此通过path值创建“基本”索引就可以完成您所描述的事情,而只是创建索引。

如果您具有牢固链接的用例,则可以创建compound indexsparse indexes