首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬:几行schema.index

问猫鼬:几行schema.index
EN

Stack Overflow用户
提问于 2017-06-14 17:00:09
回答 1查看 1.7K关注 0票数 1

我正在研究一个使用猫鼬来填充MongoDB的示例。

代码语言:javascript
复制
var eventSchema = new mongoose.Schema({
    _id: { type: String },
    name: { type: String, required: true},
    description: {type: String},
    venue: {type: String},   });   
eventSchema.plugin(require('./plugins/pagedFind'));
eventSchema.index({ name: 1 });
eventSchema.index({ date: 1 });
eventSchema.index({ venue: 1 });

我不知道schema.index是什么;所以我查找了它;http://mongoosejs.com/docs/guide.html;我学到的是,除了默认的_id排序之外,这是对集合进行排序的一种方法。

但是我写的和下面的有什么区别吗?

代码语言:javascript
复制
eventSchema.index({ name: 1, date: 1,venue: 1  });
EN

回答 1

Stack Overflow用户

发布于 2017-06-14 17:35:19

差别是2,就像在2个索引中一样。

这将创建3个单独的索引:

代码语言:javascript
复制
eventSchema.index({ name: 1 });
eventSchema.index({ date: 1 });
eventSchema.index({ venue: 1 });

这就创建了一个索引

代码语言:javascript
复制
eventSchema.index({ name: 1, date: 1, venue: 1  });

对于早期版本的MongoDB,复合索引是为匹配多个字段的查询创建索引的唯一方法。

但是,从版本2.6开始,MongoDB可以为单个查询组合多个单字段索引,这减少了使用复合索引的需要(这需要对执行哪些查询和排序进行一些仔细的规划)。

更多信息:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44550685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档