0
有数组中的一些对象是这样的:JS:对象价值取决于正则表达式匹配
const result = [
{
"_id": "Dn59y87PGhkJXpaiZ",
"title": "Something",
"synonyms": [ "Anything", "else" ]
},
{ ... }
]
我通过执行该得到这样的结果:
Content.find({
$or: [
{ title: { $regex: new RegExp(term, 'i') } },
{ synonyms: { $regex: new RegExp(term, 'i') } }
]
}).toArray()
正如你所看到的,我通过给定的搜索词搜索标题(字符串)或同义词(数组)元素。 因此,搜索some
或any
将给我第一份文件作为我的结果。
在我的组件我做数据的输出是这样的:
render() {
return result.map((link, index) => {
return <Dropdown.Item
text={link.title}
key={index}
/>
})
}
但现在我得到了下拉项输出Something
如果我在寻找any
(项)。对于用户来说这没有意义。
当然any
应该给我输出Anything
和some
应该给我输出Something
。 在这个例子中,您还可以搜索thing
,我期望两个输出元素(单个结果文档的):Anything
和Something
。
我不太清楚如何修改代码来获得这个结果。我认为最好修改的地方应该是反应组件(输出) - 而不是服务器请求结果。