我正在嘗試使用陣列搜索輸入找到 findig 檔案的解決方案。下一行的解決方案效果很好,但我需要進行更復雜的搜索。
const searchInput = ["United States","Mexico"]
model.find({country: { $in: searchInput },})
資料具有各種形式的“國家”欄位,因此我需要使用正則運算式。如果僅搜索一個國家/地區,則以下解決方案適用。
model.find({country : {$regex : "United States"}});
但我需要結合前兩種解決方案。我需要對陣列中的每個元素進行單獨搜索,還是有更好的解決方案?
Example data:
0: {country: "United States"}
1: {country: "Mexico"}
2: {country: "Canada"}
3: {country: "United States | Canada"}
從這些檔案中,我只想找到那些匹配搜索等于 ["United States","Mexico"] 的檔案。
Expected results:
0: {country: "United States"}
1: {country: "Mexico"}
3: {country: "United States | Canada"}
感謝您的任何幫助
uj5u.com熱心網友回復:
您可以使用管道而不是陣列,如下所示:
model.find({
country: {
$regex: "United States|Mexico"
}
})
看看它在操場上的例子是如何作業的。
當然,您可以使用聚合管道來使用陣列中的管道構建字串,但我認為在代碼中執行此操作并使用簡單的find
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/524511.html
