Jag försökte precis replikera scenariot du beskrev ovan på min sida med nästan samma version av mongoose och MongoDB, det fungerade bra, dokument skapades (och sparades) utan den unika egenskapen på firstName
fältet i schemat. Jag tror inte att anledningen till att dina objekt inte sparades i DB är att den unika egenskapen saknas.
Anledningen till att samlingen inte skapades utan den unika egenskapen är att mongoose (eller MongoDB själv) inte kommer att skapa en samling förrän du infogar data i samlingen. Genom att lägga till den unika egenskapen skulle MongoDB behöva skapa ett indexdokument för den egenskapen i samlingen och följaktligen lägga till data till samlingen och det är därför det verkar som att samlingen skapades först efter att den unika egenskapen lagts till. Så medan db.<collectionName>.find({}
) kanske inte returnerar något, db.<collectionName>.getIndexes()
skulle ge dig något.