mongoose Schema 的变化没有反映

Posted

技术标签:

【中文标题】mongoose Schema 的变化没有反映【英文标题】:Change in mongoose Schema does not reflect 【发布时间】:2021-09-07 11:21:54 【问题描述】:

在我的 NodeJS 项目中,我创建了一个猫鼬模式,我在项目的中途对其进行了更改。更具体地说,我在字段中添加了unique 参数。

但是,此更改似乎没有反映出来,因为我仍然能够为我设置为 unique 的参数创建多个具有相同值的文档

如何解决这个问题

【问题讨论】:

创建索引时可能会出错。可能是因为现有文档不符合索引约束。您可以查看this question 了解如何检查索引创建错误。 【参考方案1】:

Mongoose 通过在 MongoDB 中使用 unique 选项创建索引来强制执行唯一约束。

如果集合中已有重复项,则该索引创建将失败。

请注意,您可能需要调用 syncIndexes 以使用新索引更新数据库。

【讨论】:

以上是关于mongoose Schema 的变化没有反映的主要内容,如果未能解决你的问题,请参考以下文章

创建 Schema Mongoose (Node.js) 模型以简化代码

Mongoose:在数组中填充对象的问题

在 Mongoose 保存后挂钩中捕获并忽略/抑制错误

我正在尝试使用 laravel 在我的 Schema 中进行外键约束,但它没有反映在 phpmyadmin

使用 JSON-Schema 定义模式并使用 Mongoose?

mongoose.Schema() 和 new mongoose.Schema() 有啥区别?