LEATH
2023-02-17 15:18:06
我正在嘗試查詢我的數(shù)據(jù)庫以根據(jù)名稱和類別搜索產(chǎn)品。我希望數(shù)據(jù)庫在用戶搜索某物時返回一組產(chǎn)品,該字符串應(yīng)與產(chǎn)品的類別或類型或名稱相匹配。我正在做以下事情Product.find( { $or: [ { name: /box/, type: /box/,}, ], }, function (err, results) { console.log(err); console.log(results); } );我無法在以下情況下使用我的變量框:名稱:/盒子/我試過 "/" + box + "/" 并在創(chuàng)建它時將我的變量放入 // 但這些都不起作用。我如何使用 like 運算符來查詢我的數(shù)據(jù)庫。
3 回答
料青山看我應(yīng)如是
TA貢獻1772條經(jīng)驗 獲得超8個贊
看起來運算符語法也有錯誤$or。每個表達式都應(yīng)該是單獨的大括號。另外,由于您使用的是貓鼬,因此可以使用如下的正則表達式。$option 用于使搜索不區(qū)分大小寫。
Product.find(
{
$or: [
{
name: { $regex: "box", $options: "i" },
},
{ type: { $regex: "box", $options: "i" } },
],
},
function (err, results) {
console.log(err);
console.log(results);
}
);
小怪獸愛吃肉
TA貢獻1852條經(jīng)驗 獲得超1個贊
精慕HU
TA貢獻1845條經(jīng)驗 獲得超8個贊
我認為您要做的是使用 $or 運算符。語法是這樣的:
Product.find(
{
$or: [
{name: /box/},
{type: /box/}
]
});
添加回答
舉報
0/150
提交
取消
