Acabei de tentar replicar o cenário que você descreveu acima no meu final com quase a mesma versão do mongoose e do MongoDB, funcionou bem, os documentos foram criados (e salvos) sem a propriedade exclusiva no
firstName
campo no esquema. Eu não acho que o motivo pelo qual seus objetos não foram salvos no banco de dados é por causa da ausência da propriedade exclusiva. Além disso, o motivo pelo qual a coleção não foi criada sem a propriedade exclusiva é que o mongoose (ou o próprio MongoDB) não criará uma coleção até que você insira dados na coleção. Ao adicionar a propriedade unique, o MongoDB teria que criar um documento de índice para essa propriedade na coleção consequentemente adicionando dados à coleção e é por isso que parece que a coleção foi criada somente após adicionar a propriedade unique. Portanto, enquanto o
db.<collectionName>.find({}
) pode não retornar nada, db.<collectionName>.getIndexes()
lhe daria algo.