如何仅更新已使用Mongoose更改的范围值

时间:2015-11-11 16:23:33

标签: javascript angularjs node.js mongodb

我正在更新一个包含应用程序设置的大对象,以触发每个输入进行保存,我正在使用ng-blur和ng-change的组合:

ng-model-options="{updateOn:'blur'}", ng-change='updateContent();'

我可以使用像#34; setting.update"

这样的服务用Mongoose更新对象的部分内容
$scope.updateContent = function() {
    setting.update({id:$scope.settings._id}, {
        name: $scope.settings.name,
        tag: $scope.settings.tag,
        hours: $scope.settings.hours,
        address: $scope.settings.address,             
        phone: $scope.settings.phone,
        email: $scope.settings.email
    });
};

因为整个对象相当大,我怎么才能更新控制器中已更改的值。哪个等于:

$scope.updateContent = function() {
    setting.update({id:$scope.settings._id}, {
        name: $scope.settings.name
    });
};

不重复上述功能三十次?在更新大约十个base64图像时,我还需要重复此模式。

谢谢

1 个答案:

答案 0 :(得分:0)

看起来没有办法有效地将这些信息传递给函数......所以我将使用函数处理每个输入,以将其单独的值保存到MongoDB。

$scope.updateContent = function() {
    setting.update({id:$scope.settings._id}, {
        name: $scope.settings.name
    });
};