Mongoose:如何向模式添加动态索引?
Posted
技术标签:
【中文标题】Mongoose:如何向模式添加动态索引?【英文标题】:Mongoose: how to add dynamic index to a schema? 【发布时间】:2020-07-25 17:17:48 【问题描述】:我有很长的员工集合存储在 mongodb 数据库中。它们的属性在名为EmployeesSchema 的猫鼬模式中定义。为了加快查询速度,我想根据他们的工作实现索引,所以 mongo 只需要检查属于特定工作的员工。
如何动态创建这样的索引?
var EmployeesSchema = new Schema(
name: "joe"
job: "manager"
schema.createIndex("job": "manager");
另外,为了利用这个索引,我应该如何编写我的猫鼬查询? EmployeesSchema.find(name: "joe").job("manager") 会工作吗?
【问题讨论】:
【参考方案1】:在作业字段上创建索引的正确语法如下:
schema.createIndex("job": 1);
现在要能够根据job
查找员工,您需要这样查询:
EmployeesModel.find(job: "manager");
【讨论】:
谢谢!但是,Mongoose 的文档说我可以直接在模式中定义索引。另外,这里的“1”代表什么?这是否意味着“创建一个名为 job 的索引,并在其中添加所有员工?如果是这样,与基本查询 find(job: "manager") 有什么区别? @DoneDeal0 1 显示索引中的方向,更多信息在官方docs或here @DoneDeal0 那么你成功了吗?如果是这样,请考虑将此标记为答案。以上是关于Mongoose:如何向模式添加动态索引?的主要内容,如果未能解决你的问题,请参考以下文章