Próbowałem po prostu powtórzyć scenariusz, który opisałeś powyżej, z prawie tą samą wersją mongoose i MongoDB, zadziałało dobrze, dokumenty zostały utworzone (i zapisane) bez unikalnej właściwości firstName
pole w schemacie. Nie sądzę, że powodem, dla którego twoje obiekty nie zostały zapisane w DB, jest brak unikalnej właściwości.
Ponadto powodem, dla którego kolekcja nie została utworzona bez unikalnej właściwości, jest to, że mongoose (lub sama MongoDB) nie utworzy kolekcji, dopóki nie wstawisz danych do kolekcji. Dodając unikalną właściwość, MongoDB musiałby utworzyć dokument indeksu dla tej właściwości w kolekcji, w konsekwencji dodając dane do kolekcji i dlatego wydaje się, że kolekcja została utworzona dopiero po dodaniu unikalnej właściwości. Więc podczas gdy db.<collectionName>.find({}
) może nic nie zwrócić, db.<collectionName>.getIndexes()
dałoby ci coś.