【问题标题】:Breeze Error: A MergeStrategy of 'Disallowed'微风错误:“不允许”的合并策略
【发布时间】:2014-05-08 20:20:33
【问题描述】:

从 Breeze 的网站运行 AngularJS 示例应用程序时出现此错误。

这是控制器briefctl.js的代码:

'use strict';

angular.module('mean').controller('breezeController', ['$scope', 'Global', 'dataservice',
    function($scope, Global, dataservice) {
        $scope.global = Global;
        $scope.breeze = {
            name: 'Breeze Sample'
        };

        //$scope.results = dataservice;

        function getProducts() {
            function success(data) {
                $scope.results = data;
            }
            function failed(error) {
                $scope.results = error.message;
            }

            dataservice.getAllProducts()
                .then(success)
                .catch(failed); 
        }

        getProducts();
    }
]);

dataservice.getAllProducts() 进入 catch(failed) 分支并显示以下错误消息:“当已附加具有相同键的实体时,'Disallowed' 的 MergeStrategy 不允许您附加实体”

这是 dataservice.js 的代码:

'use strict';

angular.module('mean').factory('dataservice', ['breeze', 'entityManagerFactory', 
    function(breeze, entityManagerFactory) {
        var manager = entityManagerFactory.newManager();

        function getAllProducts(){
            function success(data) {
                return data.results;
            }

            return breeze.EntityQuery.from('Products')
                .using(manager).execute()
                .then(success);
        }


        var service = {
            getAllProducts: getAllProducts
        };
        return service;
    }
]);

注意:从 Restful API (localhost:3000/breeze/northwind/Products) 直接调用 Products 可以正常工作,并返回一组代表集合中所有产品的 Json 对象。

【问题讨论】:

  • 听起来您正在尝试添加一个新实体,其中包含 manager.createEntity() 之类的内容并使用相同的 ID(顺便说一句,null 是相同的 ID)
  • @PWKad 非常感谢您的回答,但我只想列出。对不起,但这不是问题。我没有更多代码了。
  • 您能否向我们展示一下 Product 实体的 Breeze 元数据是什么样的?

标签: node.js angularjs mongodb breeze mean-stack


【解决方案1】:

史蒂夫·施密特是对的。我的 metadata.json 具有与数据库集合不同的名称的“defaultResourceName”属性。 我将“产品”更改为“产品”,这很有效。

非常感谢大家。

【讨论】:

    猜你喜欢
    • 2010-11-02
    • 1970-01-01
    • 2019-10-30
    • 2021-12-18
    • 1970-01-01
    • 2016-03-28
    • 2020-10-02
    • 2017-12-30
    • 2020-05-13
    相关资源
    最近更新 更多