Docker MongoDB默认数据加载

Docker MongoDB默认数据加载,docker,kubernetes,Docker,Kubernetes,我对MongoDB有一些问题 我有两个NodeJS和一个MongoDB的副本。默认数据总是在数据库中加载两次。如何解决这个问题 我有databaseLoader.js函数,它是在DB中加载数据: mongoose.promise = Promise; mongoose.set('useCreateIndex', true); mongoose.set('useFindAndModify', false); mongoose.connect(MONGODB_URI, {useNewUrlParse

我对MongoDB有一些问题

我有两个NodeJS和一个MongoDB的副本。默认数据总是在数据库中加载两次。如何解决这个问题

我有
databaseLoader.js
函数,它是在DB中加载数据:

mongoose.promise = Promise;
mongoose.set('useCreateIndex', true);
mongoose.set('useFindAndModify', false);
mongoose.connect(MONGODB_URI, {useNewUrlParser: true})
    .then(
        () => {
            logger.info('Successfully connected to mongoDB');
            loader.loadDefaultData()
                .then(response => {
                });
        },
    )
    .catch(err => {
        logger.error('Connection to MongoDB could not be established');
    });

我不知道运行2个副本以加载演示数据并连接到db的目的是什么,但如果部署中有2个副本,则每个副本将独立运行,因此这意味着将加载演示数据两次

如果您有一些应用程序,并且希望检查是否存在数据库连接,则在启动应用程序之前,可以使用

Init容器与常规容器完全相同,除了:

  • 他们总是跑完全程

  • 每一个都必须成功完成 在下一个开始之前


请提供您的YAML清单,并描述应用程序如何将数据写入Mongo。否则很难猜测。@VasilyAngapov我编辑了这篇文章