Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
MongoDB NoSQL数据库中现有记录的数据修复或代码修复_Mongodb_Database - Fatal编程技术网

MongoDB NoSQL数据库中现有记录的数据修复或代码修复

MongoDB NoSQL数据库中现有记录的数据修复或代码修复,mongodb,database,Mongodb,Database,在过去4个月里,我们在Live Env中部署了一个NodeJS/Java应用程序。它使用MongoDB作为后端 该应用程序使用20个字段创建新的客户记录,到目前为止,它已经在Live Env中的MongoDB数据库中创建了1000个客户。 我们现在有一个新的要求,要求在客户集合中添加一个名为“评级”的新字段 新版本的应用程序预计将使用此新字段创建新的客户记录,该字段现在具有不同的值 在部署新版本的应用程序期间,使用“datafix”脚本修改现有的1000条记录,以在Production env中

在过去4个月里,我们在Live Env中部署了一个NodeJS/Java应用程序。它使用MongoDB作为后端

该应用程序使用20个字段创建新的客户记录,到目前为止,它已经在Live Env中的MongoDB数据库中创建了1000个客户。 我们现在有一个新的要求,要求在客户集合中添加一个名为“评级”的新字段

新版本的应用程序预计将使用此新字段创建新的客户记录,该字段现在具有不同的值

  • 在部署新版本的应用程序期间,使用“datafix”脚本修改现有的1000条记录,以在Production env中使用默认值5填充新的“Rating”字段是否更好
  • 最好采用“代码修复”方法,即不对MongoDB数据库中的现有客户记录进行任何更改。如果对于现有客户记录没有字段称为“评级”,则应用程序将始终认为它具有默认值为5的“评级”字段。MongoDB是一个无模式的NoSQL数据库,所以我认为可以使用这种方法
  • 来自关系数据库的背景,我喜欢第一种方法。我希望保持数据库干净,与MongoDB数据库中集合中所有记录的相同字段数保持一致,并正确填充

    我对MongoDB数据库相当陌生


    我想知道其他MongoDB经验丰富的用户对这两种方法有何看法。

    这两种方法都能奏效。哪一个更好取决于许多因素,如您的用例、业务需求、更新应用程序的难度、对数据库速度慢或脱机的容忍度等。基本上是YMMV,在实现之前进行测试。谢谢Joe,我认为我们应该列出这两种方法的优缺点以及您提到的因素列表,并在我们的应用中查看它们。仅仅因为MongoDB没有模式就选择“代码修复”方法听起来不是个好主意。