【问题标题】:breezejs - schemaless complex properties微风js - 无模式的复杂属性
【发布时间】:2013-09-06 01:22:38
【问题描述】:

有没有办法在 Breeze JS 中实现无模式复杂属性?

我有一个用例需要存储客户特定的查找表。这些查找表可以有任意数量的列和行。我首选的解决方案是将这些存储为以下形式的 JSON 对象:

{'columns':['one', 'two', 'three'], 'rows':[{'one': 1, 'two': 2, 'three', 3}]}

在后端这不是问题,我可以将它作为 JSON 对象存储在 postgres 中。我只是不知道如何轻而易举地处理这个对象,而不是对其进行任何处理。

有没有办法在 Breeze JS 中实现无模式复杂属性?

【问题讨论】:

    标签: json postgresql breeze


    【解决方案1】:

    如果您使用“未定义”的 DataType 创建属性,Breeze 将序列化数据而不尝试转换或强制它。

         var et = new EntityType({
            shortName: "Foo",
            namespace: "Sample.Models"
        });
        et.addProperty( new DataProperty({
            name: "columns",
            dataType: DataType.Undefined
        }));
    

    请注意,从 Breeze 1.4.0 开始,我们现在还支持非标量数据属性,因此您还可以执行以下操作。

      et.addProperty( new DataProperty({
            name: "columns",
            dataType: DataType.String
            isScalar: false
        }));
    

    此外,未显示,您实际上可以创建复杂类型数组的属性。有关此类元数据的示例,请参阅 Breeze Node/Mongo 示例。 (这可用于您的“行”属性)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-14
      • 2015-02-27
      • 2014-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-04
      相关资源
      最近更新 更多