Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js node-mongo本机迁移框架_Node.js_Mongodb - Fatal编程技术网

Node.js node-mongo本机迁移框架

Node.js node-mongo本机迁移框架,node.js,mongodb,Node.js,Mongodb,我正在node.js服务器上工作,并将MongoDB与node mongo native一起使用。 我正在寻找一个db迁移框架,类似于Rails迁移。有什么建议吗?我不知道有什么特定的native Node.js工具可以进行MongoDB迁移。。但是您可以选择使用其他语言编写的工具(例如) 值得注意的是,MongoDB中的数据建模方法与关系数据库不同。特别是,集合不需要具有一致或预先声明的模式,因此许多传统迁移操作(如添加和删除列)都不是必需的 然而。。涉及数据转换的迁移仍然很有用 如果您的应用

我正在node.js服务器上工作,并将MongoDB与node mongo native一起使用。
我正在寻找一个db迁移框架,类似于Rails迁移。有什么建议吗?

我不知道有什么特定的native Node.js工具可以进行MongoDB迁移。。但是您可以选择使用其他语言编写的工具(例如)

值得注意的是,MongoDB中的数据建模方法与关系数据库不同。特别是,集合不需要具有一致或预先声明的模式,因此许多传统迁移操作(如添加和删除列)都不是必需的

然而。。涉及数据转换的迁移仍然很有用

如果您的应用程序希望数据采用某种格式(例如,您希望将“名称”字段拆分为“名字”和“姓氏”),如果使用以另一种编程语言编写的迁移工具的想法不吸引人,可以使用几种策略:

  • 处理应用程序逻辑中的数据差异,因此新旧数据格式都是可以接受的(可能在更新记录时“升级”记录以匹配新的格式)
  • 编写脚本以执行一次性数据迁移
  • 将MongoDB助手贡献给

我刚刚完成了基于node mongo native:的基本迁移框架的编写。它将允许您向上和向下迁移,以及向上/向下迁移到特定的修订号。它最初是基于节点迁移的,但显然需要做一些修改才能使其正常工作

修订历史记录存储在mongodb中,而不是像node migrate那样存储在文件系统中,允许使用单个数据库在同一项目上进行协作。否则,每个运行迁移的开发人员都可能会导致迁移针对数据库运行多次

迁移本身是基于文件的,也有助于在单个项目上进行协作,其中每个开发人员不使用(或不使用)相同的数据库。因此,当每个开发人员运行迁移时,所有尚未针对其数据库运行的迁移文件都将运行


有关更多信息,请查看。

谢谢您提供的信息。这些选择听起来很明智。听起来最“节点”的解决方案是使用node migrate或自制解决方案。node-migrate看起来不错:我可以在我的up和down中使用mongoose吗?另外,我需要在dev、test和prod中对我的数据库进行一些数据转换。有没有办法在不同的环境中运行此迁移脚本?请查看以下答案: