我有一个JSON对象到我的收藏与JSONStore是这样的:
{
name : 'name1',
industry : ['Banking', 'Energy', 'Insurance', 'Media', 'Retail', 'Telco', 'Travel'],
buyer : ['CMO'],
link : 'foo.com'
}
但是,如何可以声明行业领域进入searchFields?为了在数组中搜索模式。
干杯
我有一个JSON对象到我的收藏与JSONStore是这样的:
{
name : 'name1',
industry : ['Banking', 'Energy', 'Insurance', 'Media', 'Retail', 'Telco', 'Travel'],
buyer : ['CMO'],
link : 'foo.com'
}
但是,如何可以声明行业领域进入searchFields?为了在数组中搜索模式。
干杯
有没有array
用于搜索字段类型。 您只能在那些对象的索引值string
, boolean
, number
和integer
。
你可以改变:
{ 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
值的字符串。
仅供参考-功能要求在这里 。