如果数据是
[
{ title: "banana awesome" },
{ title: "banana is good" },
{ title: "banana is good hahaha" },
{ title: "banana is delicious" },
]
我想查询“香蕉好”
结果应为:
[
{ title: "banana is good" },
{ title: "banana is good hahaha" }
]
我尝试过的
const searchText = "banana good"
Fruits.find({ title: { $regex: `.*${searchText}.*`} }
Fruits.find({ title: { $regex: searchText }}
两者均不起作用。我该怎么办?
答案 0 :(得分:0)
在不向查询中添加正则表达式的情况下尝试
const searchText = "banana good"
Fruits.find({ title: /.*${searchText}.*/ }
答案 1 :(得分:0)
我相信您的正则表达式不正确。我也不是正则表达式专家。但是,这应该可行。
master.eligibility=true
您必须从给定的字符串中构建一个像Fruits.find({ title: /banana.+good/i });
这样的正则表达式字符串。
您正在精确地搜索子字符串/banana.+good/i
。但是,数据库中没有这样的子字符串。