我应该使用 MongoDB 对哪些文件进行源代码控制

Posted

技术标签:

【中文标题】我应该使用 MongoDB 对哪些文件进行源代码控制【英文标题】:What files should I source control with MongoDB 【发布时间】:2022-01-15 12:17:19 【问题描述】:

我一直在我的 docker compose 脚本中使用 MongoDB 实例。我想设置它,这样我就可以将我的数据库从 PC 保存到 PC,但拥有所有相同的数据。

在 MongoDB docker 安装中似乎有很多文件,.lock、.turtle、.wt、.bson diagnostic.data、journal 等。

是否有关于我应该存储什么以及我应该在我的回购中忽略什么的经验法则?我不清楚,我不想存储任何可能影响在另一个 docker 容器上启动的文件。

【问题讨论】:

你是否将整个 docker 镜像提交到你的仓库?通常你应该只提交 docker compose yaml 只表示我相信的 docker compose 【参考方案1】:

最好的方法是保留 mongod dbPath 文件夹下的所有内容,但可以删除一些文件/文件夹,例如 diagnostic.data - 该文件夹包含在操作期间收集的指标,以便在后期进行性能分析,但通常是已经收集的统计信息不需要执行 mongod 进程。

【讨论】:

假设您的意思是 /data/db? 在 docker 中完全是 /data/db ,但这可以从 mongod.conf -> dbPath: ''

以上是关于我应该使用 MongoDB 对哪些文件进行源代码控制的主要内容,如果未能解决你的问题,请参考以下文章

应该针对不同的排序和过滤条件创建哪些MongoDB索引来提高性能?

在部署到 Heroku 之前,我应该对 MERN 应用程序的 package.json 文件的脚本进行哪些更改?

实体框架代码首次迁移文件源代码控制

在春季更改mongodb标准内容

如何使用 Java 对 MongoDB 中的文档进行批量更新?

ACL访问控列表之标准版