微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – KeystoneJS – 创建新项目会引发重复键错误

我见过一些与此相关的类似问题,但没有找到答案.

我正在尝试在我的Keystone项目中创建一个类似于帖子的图库,其中将有一个图库列表,其中包含一组选定图像的图库:

var keystone = require('keystone'),
    Types = keystone.Field.Types;

/**
 * gallery Model
 * =============
 */

var gallery = new keystone.List('gallery', {
    map: { name: 'name' },
    autokey: { path: 'slug', from: 'name', unique: true }
});

gallery.add({
    name: { type: String, required: true},
    published: {type: Types.Select, options: 'yes, no', default: 'no', index: true},
    publishedDate: { type: Types.Date, index: true, dependsOn: { published: 'yes' } },
    description: { type: String },
    heroImage : { type: Types.Relationship, ref: 'Image' },
    images : { type: Types.Relationship, ref: 'Image', many: true }
});

gallery.defaultColumns = 'title, published|20%, publishedDate|20%';
gallery.register();

我能够成功创建一个库 – 但任何后续的画廊都会抛出错误

There was an error saving your changes: insertDocument :: caused by ::
11000 E11000 duplicate key error index: site-name.galleries.$key_1 dup
key: { : null } (MongoError)

我不知道我需要改变这个模型以允许我的画廊中的独特slu to直接链接到等等.

解决方法:

从MongoDB中完全删除模型并重新启动.我通常在使用先前已定义的索引更改模型时看到此错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐