产品架构有很多细节,比如:产品名称、制造日期、制造商名称、产品类型等。但我需要支持没有为产品细节定义架构的灵活性。为了实现这一点,下面是 Realm-JS 模式。
import Realm from 'realm';
export default class ProductModel extends Realm.Object { }
ProductModel.schema = {
name: 'ProductModel',
properties: {
productAttributes: { type: 'list', objectType: 'ProductDetailsModel' },
ID: { type: 'string', optional: true },
}
};
import Realm from 'realm';
export default class ProductDetailsModel extends Realm.Object { }
ProductDetailsModel.schema = {
name: 'ProductDetailsModel',
properties: {
attributeName: { type: 'string', optional: true },
attributeValue: { type: 'string', optional: true },
}
};
这种灵活性导致编写过滤器查询的复杂性。我需要能够根据特定的产品属性名称和产品属性值进行过滤。
let query = "productAttributes.attributeName = " + "\"" + "Manufacturer" + "\"" + " AND productAttributes.attributeValue = [c]" + "\"" + "Pepsico" + "\"";
var productList = this.realm.objects('ProductModel').filtered(query).snapshot();
请帮助我编写查询以从与 ProductDetailsModel 匹配的属性名和属性值的数据库中过滤 ProductModel 吗?
当前查询与单个 ProductDetailsModel 不匹配,其中 attributeName ="Manufacturer" AND attributeValue = "Pepsico"