ExpressJS - duplicate key error collection












1















I have problem with this error when I am creating a new event with category which exists in my database, for example I created an event with category "javascript" and save it to db, and then i tried to create a new event with categories "javascript, html, css" and then i got this error duplicate key error collection



So my schema for event is this:



    const EventSchema = new Schema({
title: {
type: String,
required: true,
min: 3,
max: 100
},
featuredImage: {
type: Object,
},
from: {
type: Date,
required: true
},
to: {
type: Date,
required: true
},
location: {
name: {
type: String
},
address: {
type: Object
}
},
description: {
type: String
},
categories: {
type: Array,
trim: true
},
featured: {
type: Boolean
},
created_by: {
type: Schema.Types.ObjectId,
ref: 'User'
},
slug: {
type: String,
default: null
},
registration: {
type: Boolean
},
tickets: ,
allday: {
type: Boolean
},
speakers: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
attendees: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
comments: [CommentSchema]
}, {
timestamps: true,
usePushEach: true
});


So basically sending array of strings and i got this error.










share|improve this question


















  • 1





    Were the rest of the fields unique? Look at this stackoverflow.com/questions/24430220/…

    – Aviad
    Nov 25 '18 at 16:46











  • please give an example of the two events you created (the one that was created, and the one that threw the error)

    – OzW
    Nov 25 '18 at 17:20
















1















I have problem with this error when I am creating a new event with category which exists in my database, for example I created an event with category "javascript" and save it to db, and then i tried to create a new event with categories "javascript, html, css" and then i got this error duplicate key error collection



So my schema for event is this:



    const EventSchema = new Schema({
title: {
type: String,
required: true,
min: 3,
max: 100
},
featuredImage: {
type: Object,
},
from: {
type: Date,
required: true
},
to: {
type: Date,
required: true
},
location: {
name: {
type: String
},
address: {
type: Object
}
},
description: {
type: String
},
categories: {
type: Array,
trim: true
},
featured: {
type: Boolean
},
created_by: {
type: Schema.Types.ObjectId,
ref: 'User'
},
slug: {
type: String,
default: null
},
registration: {
type: Boolean
},
tickets: ,
allday: {
type: Boolean
},
speakers: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
attendees: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
comments: [CommentSchema]
}, {
timestamps: true,
usePushEach: true
});


So basically sending array of strings and i got this error.










share|improve this question


















  • 1





    Were the rest of the fields unique? Look at this stackoverflow.com/questions/24430220/…

    – Aviad
    Nov 25 '18 at 16:46











  • please give an example of the two events you created (the one that was created, and the one that threw the error)

    – OzW
    Nov 25 '18 at 17:20














1












1








1








I have problem with this error when I am creating a new event with category which exists in my database, for example I created an event with category "javascript" and save it to db, and then i tried to create a new event with categories "javascript, html, css" and then i got this error duplicate key error collection



So my schema for event is this:



    const EventSchema = new Schema({
title: {
type: String,
required: true,
min: 3,
max: 100
},
featuredImage: {
type: Object,
},
from: {
type: Date,
required: true
},
to: {
type: Date,
required: true
},
location: {
name: {
type: String
},
address: {
type: Object
}
},
description: {
type: String
},
categories: {
type: Array,
trim: true
},
featured: {
type: Boolean
},
created_by: {
type: Schema.Types.ObjectId,
ref: 'User'
},
slug: {
type: String,
default: null
},
registration: {
type: Boolean
},
tickets: ,
allday: {
type: Boolean
},
speakers: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
attendees: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
comments: [CommentSchema]
}, {
timestamps: true,
usePushEach: true
});


So basically sending array of strings and i got this error.










share|improve this question














I have problem with this error when I am creating a new event with category which exists in my database, for example I created an event with category "javascript" and save it to db, and then i tried to create a new event with categories "javascript, html, css" and then i got this error duplicate key error collection



So my schema for event is this:



    const EventSchema = new Schema({
title: {
type: String,
required: true,
min: 3,
max: 100
},
featuredImage: {
type: Object,
},
from: {
type: Date,
required: true
},
to: {
type: Date,
required: true
},
location: {
name: {
type: String
},
address: {
type: Object
}
},
description: {
type: String
},
categories: {
type: Array,
trim: true
},
featured: {
type: Boolean
},
created_by: {
type: Schema.Types.ObjectId,
ref: 'User'
},
slug: {
type: String,
default: null
},
registration: {
type: Boolean
},
tickets: ,
allday: {
type: Boolean
},
speakers: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
attendees: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
comments: [CommentSchema]
}, {
timestamps: true,
usePushEach: true
});


So basically sending array of strings and i got this error.







javascript node.js mongodb express mongoose






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 25 '18 at 16:17









Krešimir GalićKrešimir Galić

11112




11112








  • 1





    Were the rest of the fields unique? Look at this stackoverflow.com/questions/24430220/…

    – Aviad
    Nov 25 '18 at 16:46











  • please give an example of the two events you created (the one that was created, and the one that threw the error)

    – OzW
    Nov 25 '18 at 17:20














  • 1





    Were the rest of the fields unique? Look at this stackoverflow.com/questions/24430220/…

    – Aviad
    Nov 25 '18 at 16:46











  • please give an example of the two events you created (the one that was created, and the one that threw the error)

    – OzW
    Nov 25 '18 at 17:20








1




1





Were the rest of the fields unique? Look at this stackoverflow.com/questions/24430220/…

– Aviad
Nov 25 '18 at 16:46





Were the rest of the fields unique? Look at this stackoverflow.com/questions/24430220/…

– Aviad
Nov 25 '18 at 16:46













please give an example of the two events you created (the one that was created, and the one that threw the error)

– OzW
Nov 25 '18 at 17:20





please give an example of the two events you created (the one that was created, and the one that threw the error)

– OzW
Nov 25 '18 at 17:20












1 Answer
1






active

oldest

votes


















0














You probably have some index defined on categories with the unique flag.



You can list the existing indexes with db.events.getIndexes().



You could drop and recreate the culprit (be careful):



> db.events.dropIndex({categories:1})
> db.events.ensureIndex({categories:1},{sparse:true})





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53469427%2fexpressjs-duplicate-key-error-collection%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    You probably have some index defined on categories with the unique flag.



    You can list the existing indexes with db.events.getIndexes().



    You could drop and recreate the culprit (be careful):



    > db.events.dropIndex({categories:1})
    > db.events.ensureIndex({categories:1},{sparse:true})





    share|improve this answer




























      0














      You probably have some index defined on categories with the unique flag.



      You can list the existing indexes with db.events.getIndexes().



      You could drop and recreate the culprit (be careful):



      > db.events.dropIndex({categories:1})
      > db.events.ensureIndex({categories:1},{sparse:true})





      share|improve this answer


























        0












        0








        0







        You probably have some index defined on categories with the unique flag.



        You can list the existing indexes with db.events.getIndexes().



        You could drop and recreate the culprit (be careful):



        > db.events.dropIndex({categories:1})
        > db.events.ensureIndex({categories:1},{sparse:true})





        share|improve this answer













        You probably have some index defined on categories with the unique flag.



        You can list the existing indexes with db.events.getIndexes().



        You could drop and recreate the culprit (be careful):



        > db.events.dropIndex({categories:1})
        > db.events.ensureIndex({categories:1},{sparse:true})






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 25 '18 at 17:42









        PragmateekPragmateek

        9,26685488




        9,26685488
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53469427%2fexpressjs-duplicate-key-error-collection%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Feedback on college project

            Futebolista

            Albești (Vaslui)