声明数组searchFields工作灯JSONStore(Declare array into se

2019-09-28 22:50发布

我有一个JSON对象到我的收藏与JSONStore是这样的:

{
    name : 'name1',
    industry : ['Banking', 'Energy', 'Insurance', 'Media', 'Retail', 'Telco', 'Travel'],
    buyer : ['CMO'],
    link : 'foo.com' 
}

但是,如何可以声明行业领域进入searchFields?为了在数组中搜索模式。

干杯

Answer 1:

有没有array用于搜索字段类型。 您只能在那些对象的索引值stringbooleannumberinteger

你可以改变:

{ industry : ['Banking', 'Energy'] }

至:

{ industry : [{name: 'Banking'}, {name: 'Energy'}] }

然后用以下搜索字段: {'industry.name' : 'string'} 这将使你做这样的事情WL.JSONStore.get('collection').find({'industry.name' : 'Banking'}, {exact: true})并取回这样一个对象:

[{_id: ..., json: {name: ..., industry: [..., {name: Banking}, ...], buyer: ..., link: ...}}]

这是在文档中的一般术语的搜索领域部分记录在这里 。

这将意味着写这样的代码来改变被添加到集合中的数据:

var output = [];
['Banking', 'Energy', 'Insurance', 'Media'].forEach(function (element) {
    output.push({name: element});
});
console.log( JSON.stringify(output, null, ' ') ); 

或者,你也可以把它变成一个字符串:

{industry : ['Banking', 'Energy', 'Insurance', 'Media'].toString() }

并取回是这样的:

{industry : "Banking,Energy,Insurance,Media"}

然后你可以使用搜索栏{industry : 'string'}和这样做WL.JSONStore.get('collection').find({industry: 'Energy'}, {exact: false})来获取有对象Energy某处在industry值的字符串。

仅供参考-功能要求在这里 。



文章来源: Declare array into searchFields Worklight JSONStore