Pri*_*jan 3 javascript search mongodb node.js advanced-search
我想在带有 Mongo DB 的 Node JS 项目中创建高级搜索。我在数据库中创建了一个作为搜索键的字段。用户可以在文本框中键入任何单词,我想在字符串中匹配该单词并获取结果。下面是我的数据库结构和代码。我的代码仅匹配字符串的第一个单词,而不是在所有字符串中搜索。
DB :
{
"_id": ObjectId("001"),
"searchkey": "Test Product Test Product T-shirt Half sleeves Adidas"
}
{
"_id": ObjectId("123"),
"searchkey": "boy test Product Test Product T-shirt Half sleeves Nike"
}
{
"_id": ObjectId("456"),
"searchkey": "girl test Product Summer Product T-shirt full sleeves Adidas"
}
{
"_id": ObjectId("789"),
"searchkey": "any product any Product any Product T-shirt full sleeves Adidas"
}
{
"_id": ObjectId("1010"),
"searchkey": "woodland Product woodland Product T-shirt Half sleeves woodland"
}
{
"_id": ObjectId("1212"),
"searchkey": "Summer Product Test Product T-shirt Half sleeves Adidas"
}
My Query :
Collection.find({searchkey : {$regex: new RegExp('^' + search.toLowerCase(), 'i')},searchkey : {$regex: new RegExp('^' + search.toUpperCase(), 'i')},is_active:true},function(error,fetchSearch){
console.log(fetchSearch);
});
Run Code Online (Sandbox Code Playgroud)
如果我搜索test or TEST它只会给我一个 id 为 001 的结果,而其余结果与所有字符串都不匹配。
我希望如果我搜索summer或者Summer它会给我456 and 1212_Id 数据。
| 归档时间: |
|
| 查看次数: |
5793 次 |
| 最近记录: |