【问题标题】:Realm JS Create objects with primitive data type listRealm JS使用原始数据类型列表创建对象
【发布时间】:2016-08-01 14:01:26
【问题描述】:

我无法创建仅包含字符串对象的列表

这就是我的模型的样子

class ProductSummary extends Realm.Object {}
ProductSummary.schema = {
name: 'ProductSummary',
properties: {
productId:'string',
name:'string',
description:'string',
rating:'int',
comments:'int',
categories:{type:'list',objectType:'string'},
images:{type:'list',objectType:'string'},
price:{type:'Price'}
 }
};

这就是我从 api 得到的响应

"productSummary": { "links": [], "productId": "PRD_1ola611nd0t", "name": "Sample", "description": "<p>Sample<br></p>", "categories": [ "CAT_1rua60fnd0u" ], "rating": 0, "comments": 0, "tags": [], "image": "http://test.testsite.com/testProject/app-images/189_66164247/189_42527954.jpeg", "price": { "lowest": 100, "highest": 100 } }

我收到以下错误

Target Type 'string' doesn't Exists for property 'categories'

我是否以错误的方式创建类别字段。

【问题讨论】:

标签: reactjs realm realm-list


【解决方案1】:

现在我们可以创建一个仅包含字符串对象或任何原始值类型的列表。

例如

class VarietyModel {}

VarietyModel.schema = {
  name: 'Variety',
  primaryKey: 'varietyId',
  properties: {
    varietyId: 'int',
    varietyName: 'string',
    products: { type: 'string?[]', default: [] }, // products will array of strings ['product1','product2'..]
  },
};
export default VarietyModel;

参考:

Realm Types

Realm List Properties

【讨论】:

    【解决方案2】:

    这是对 react native 的领域 js 的限制,解决方法是在执行 db 事务之前将字符串列表包装为对象列表(作为键值对),更多信息和问题状态被跟踪在这个github issue

    【讨论】:

      猜你喜欢
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多