Jeg har lige prøvet at replikere det scenarie, du beskrev ovenfor på min side med næsten den samme version af mongoose og MongoDB, det fungerede fint, dokumenter blev oprettet (og gemt) uden den unikke egenskab på firstName
felt i skemaet. Jeg tror ikke, at grunden til, at dine objekter ikke blev gemt i DB, er på grund af fraværet af den unikke egenskab.
Grunden til, at samlingen ikke blev oprettet uden den unikke egenskab, er, at mongoose (eller MongoDB selv) ikke vil oprette en samling, før du indsætter data i samlingen. Ved at tilføje den unikke egenskab, ville MongoDB skulle oprette et indeksdokument for den pågældende ejendom i samlingen, og dermed tilføje data til samlingen, og det er derfor, det ser ud til, at samlingen først blev oprettet efter tilføjelse af den unikke egenskab. Så mens db.<collectionName>.find({}
) returnerer muligvis intet, db.<collectionName>.getIndexes()
ville give dig noget.