Estou testemunhando um comportamento muito bizarro do MongoDB.
Eu inicio o MongoD em um sistema de teste (Windows 10, 64bit) assim:
"C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe" --dbpath "C:\MongoData"
Em seguida, desligo o servidor e substituo o diretório MongoData por um conjunto de dados de um servidor de produção. Eu começo o mongod novamente, mas recebo uma coleção com 4 documentos , que é o que eu costumava ter antes de substituir meu conjunto de dados de teste por um real.
Isso não está certo, porque eu esperaria ver muitos documentos em um conjunto de dados real. Em seguida, tento dezenas de coisas, incluindo apontar o MongoD para a pasta de dados em seu local original, o que me fornece todos os documentos da coleção real. Ufa, os dados estão seguros. Mas o que está acontecendo no meu sistema de teste?
Percebi que, se renomear a pasta no meu sistema de teste para MongoData2 e lanuch mongod apontando para ela, obterei meu conjunto de dados de produção adequado. mas se eu renomeá-lo de volta para MongoData e iniciar o mongod apontando para esta pasta, recebo 4 documentos novamente.
O quê está causando isto?
De acordo com a documentação do MongoDB aqui Para usar um dbpath alternativo, especifique o caminho no arquivo de configuração (por exemplo, C:\mongodb\mongod.cfg) ou na linha de comando com a opção --dbpath .
O diretório onde a instância do mongod armazena seus dados.
Alterado na versão 3.0: Os arquivos em --dbpath devem corresponder ao mecanismo de armazenamento especificado em --storageEngine . Se os arquivos de dados não corresponderem a --storageEngine , o mongod se recusará a iniciar.
--directoryperdb
Usa um diretório separado para armazenar dados para cada banco de dados. Os diretórios estão no diretório --dbpath e cada nome de subdiretório corresponde ao nome do banco de dados.
Alterado na versão 3.0: Para alterar a opção --directoryperdb para implantações existentes, você deve reiniciar as instâncias do mongod com o novo valor --directoryperdb e um novo diretório de dados (--dbpath ) e, em seguida, preencher novamente os dados.
Parece que o firewall COMODO local estava bloqueando parcialmente o aplicativo com seu recurso HIPS. Eu usei argumentos de linha de comando para controlar o caminho do banco de dados, então não estou totalmente surpreso que isso possa ter afetado o que o MongoD estava vendo.
O sintoma mais recente foi o banco de dados 'esquecer' os usuários recém-criados. Depois de permitir o aplicativo pelo firewall, tudo funciona bem.