为什么添加唯一索引时必须使用schema.path?

时间:2019-05-22 07:06:44

标签: node.js mongodb mongoose

如果索引已在第一行中声明,为什么我们必须添加第二行?

var schema = new Schema({ name: { type: String, unique: true }});
>> schema.path('name').index({ unique: true });

1 个答案:

答案 0 :(得分:1)

我猜想使用较新的'createIndexes'函数,而不是较旧的(且性能不太可能降低的)已弃用的'ensureIndex'函数:

使用{ unique: true },您会收到以下错误消息:

  

(节点:2924)DeprecationWarning:不建议使用collection.ensureIndex。   请改用createIndexes。

如果使用索引的显式声明,不仅代码将变得更干净,更易于阅读,而且警告将消失。如果使用显式声明,则也可以省略{unique:true}语句,因为无论如何它都可能会被忽略。