0
蒙戈集合:MongoDB的 - 正則表達式數
{
"price" : 120, // Type : Number
"name" : "Product Name 1",
"productId" : "num01",
}
{
"price" : 121,
"name" : "Product Name 2",
"productId" : "num02",
}
{
"price" : 50,
"name" : "Product Name 3",
"productId" : "num03",
}
我使用正則表達式搜索name
& productId
:
var searchText = new RegExp(req.body.search.value, "i");
Product
.find({
"companyId" : req.params.companyId ,
"isDeleted" : false,
$or : [
{ "name" : searchText },
{ "productId" : searchText }
]
})
我如何搜索價格字段,如果輸入12
產品1,2將被選中。
你指的是第一('價:120')和第二('價格: 121 ')產品匹配?這是因爲這兩個都包含「12」,後面跟着任何東西,你不會在你的表達式中排除。如果您必須使用正則表達式,請考慮查找_exact_模式,例如'^ 12 $'(「從開始到結束我期望'12'」)。對於數字,使用'$ gt','$ gte','$ lt','$ lte'等在範圍內搜索通常會更方便 –