MongoDB默认数据加载

时间:2019-04-23 10:06:24

标签: docker kubernetes

我在MongoDB上遇到一些问题。

我有2个NodeJS副本和1个MongoDB。默认数据总是在数据库中加载两次。该如何解决?

我有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'); }); 函数,该函数正在DB中加载数据:

{{1}}

1 个答案:

答案 0 :(得分:2)

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

如果您有某个应用程序,并且想要检查是否存在数据库连接,请在启动应用程序之前使用initContainer

  

初始化容器与常规容器完全一样,除了:

     
      
  • 它们总是运行到完成。

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

  •