在mongo db中有標籤。我試圖從搜索詞的開頭拉出所有可以匹配的標籤。是否有可能在mongo查詢中實現以下內容?如何查詢mongo db以返回搜索詞中所有鍵的組合?
蒙戈數據:
[
{ tag: '123' },
{ tag: '1234' },
{ tag: '123456' },
{ tag: '987' },
{ tag: '555' }
]
查詢搜索術語= '12349339'
結果期望:
[
{ tag: '123'},
{ tag: '1234' }
]
或
[
{ tag: '1234' }
]
我試過正則表達式無濟於事,因爲使用(^)只會有用,如果更長的搜索詞是在數據庫中,我正在使用子字符串進行搜索。
更新:這是我嘗試這種方法的任何人的正則表達式嘗試。
tags.find({標籤:{$正則表達式: '^ * 12349339'}})
返回任何內容。如果我想要所有匹配'123'的標籤,那麼這種查詢就可以工作。
tags.find({標籤:{$正則表達式: '^ 123'}})
返回:
[
{ tag: '123' },
{ tag: '1234' },
{ tag: '123456' }
]
但我想要的相反。所以,我想我需要一個聚合函數或其他東西。
嗨富 - 你能描述一下你到目前爲止嘗試過的查詢以及他們給出的結果嗎? –
我試過使用像{$ regex:'^ 12349339'}這樣的正則表達式組合,但是這些是爲了我想要的。威克的答案很有希望。 –
如果你有額外的信息要添加回應評論,例如,你應該通過編輯問題來改善你的問題,以包括額外的信息。 –