MongooseJS无法禁用字段唯一

时间:2014-05-16 13:02:43

标签: mongoose

这是我的mongoosejs架构。我将name unique设置为false,但这是我得到的: MongoError:insertDocument ::由:: 11000引起的E11000重复键错误索引:testdb1.images。$ name_1 dup key:{:" aaa&# 34; }

imageSchema = new Schema({
    url: {
        type: String,
        unique: true,
        required: true
    },

    category: {
        type: String,
        required: true
    },

    vote: {
        type: Number,
        required: true
    },

    name: {
        type: String,
        unique: false,
        required: true
    },

    voteArray: [],
    favorite: false,
    tags: []

});

任何想法如何解决这个问题?建议?

3 个答案:

答案 0 :(得分:3)

Mongoose不会修改现有索引,因此您需要在MongoDB shell中删除该索引,然后让Mongoose使用模式中的定义重新创建它:

> db.images.dropIndex('name_1');

答案 1 :(得分:3)

转到DB(MongoDB) - >收藏 - > Your_Table - >索引 - >右键单击Unique Field - >退出索引 - >取消选中唯一字段 - >保存

illustration pic

答案 2 :(得分:0)

MongoDB指南针

如果使用的是MongoDB Compass,则可以选择文档,然后单击Indexes并删除要删除的索引。

enter image description here