Схема продукта имеет много деталей, таких как: productName, дата изготовления, название производителя, тип продукта и т. Д. Но мне нужно поддерживать гибкость, не имея определенной схемы для деталей продукта. Для этого ниже приведена схема 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();
Пожалуйста, помогите мне написать запрос для фильтрации ProductModel из БД, совпадающей с ProductDetailsModel attributeName и attributeValue?
Текущий запрос не соответствует одиночной ProductDetailsModel, где attributeName = "Manufacturer" AND attributeValue = "Pepsico"