任何帮助将不胜感激!我找不到答案。
向引擎提供输入事实,例如 -
const facts = {
cart: {
prop1: true,
prop2: "My Cart",
prop3: {
prop4: "North America"
},
products: [
{
category: 1,
classification: null
},
{
category: 2,
classification: null
},
{
category: 1,
classification: null
}
]
}
};
我希望能够处理产品数组中的每个对象,为每个类别定义单独的规则,并为该类别设置分类字段。
类似-
let condition1 = {
all: [
{
fact: 'category',
operator: 'equal',
value: 1
}
]
};
let condition2 = {
all: [
{
fact: 'category',
operator: 'equal',
value: 2
}
]
};
let event1 = {
type: 'category 1 event'
// Update classification
};
let event2 = {
type: 'category 2 event'
// Update classification
};
我该怎么做?我是否在该事件的事件处理程序中设置分类字段?如何访问该类别所属的对象?
我尝试使用下面的方法,但它从每个对象中选择所有类别值。我希望能够单独处理每个对象。
let condition = {
all: [
{
fact: 'cart',
operator: 'contains',
value: 1,
path: '$.products[*].category'
}
]
}
我也无法将它们添加为运行时事实,因为您只能拥有 1 个运行时事实及其值。 (无重复)
您找到问题的解决方案了吗?我正在考虑在一个项目中使用 json-rules-engine,我必须解决与您在这里尝试的相同问题。