MongoDB默认数据加载



我对MongoDB有一些问题。

我有 2 个 NodeJS 副本和 1 个 MongoDB。默认数据始终在数据库中加载两次。如何解决这个问题?

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

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 个副本来加载演示数据并连接到数据库的目的是什么,但如果部署中有 2 个副本,那么每个副本将独立运行,因此这意味着它将加载演示数据两次。

如果你有一些应用程序,并且想要检查是否有数据库连接,在启动应用程序之前,你可以使用 initContainer

初始化容器与常规容器完全相同,除了:

  • 它们总是运行到完成。

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

最新更新