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
。
我不太清楚如何修改代碼來獲得這個結果。我認爲最好修改的地方應該是反應組件(輸出) - 而不是服務器請求結果。