Mongoose:schema.index 多行
Posted
技术标签:
【中文标题】Mongoose:schema.index 多行【英文标题】:Mongoose: schema.index on several lines 【发布时间】:2017-11-16 22:55:01 【问题描述】:我正在研究一个使用 mongoose 填充 MongoDB 的示例。
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 排序之外,它还是一种对集合进行排序的方法。
但是我写的和下面的有什么区别吗?
eventSchema.index( name: 1, date: 1,venue: 1 );
【问题讨论】:
Creating Multifield Indexes in Mongoose / MongoDB的可能重复 我已经知道了,我想知道这两种方式的区别 【参考方案1】:差异为 2,如 2 个索引。
这会创建 3 个独立的索引:
eventSchema.index( name: 1 );
eventSchema.index( date: 1 );
eventSchema.index( venue: 1 );
这会创建 1 个compound index:
eventSchema.index( name: 1, date: 1, venue: 1 );
对于早期版本的 MongoDB,复合索引是为匹配多个字段的查询创建索引的唯一方法。
但是,从 2.6 版开始,MongoDB 可以为单个查询组合多个单字段索引,这减少了使用复合索引的需要(这需要仔细规划将执行哪些查询和排序)。
更多信息:
Compound Indexes Use Indexes to Sort Query Results Index Intersection【讨论】:
以上是关于Mongoose:schema.index 多行的主要内容,如果未能解决你的问题,请参考以下文章