我正在尝试查询MongoDB中的集合,以查找名称与通过react-router-dom的NavLink匹配字符串prop的项目。通过NavLink的prop带有连字符来代替空格,但是在某些名称以及空格中也带有连字符。由于当前的正则表达式将所有连字符替换为空格,因此导致未找到错误。
在前端,我使用的是NavLink,因此我摆脱了遵循URL最佳做法(例如网址:Int
)的空白,这将参数Pipe1.Output
准确地发送给了我db。
现在我正在使用以下内容:
example.com/this-persons-name
问题在于,如果名称中已经包含连字符(例如:this-persons-name
),则找不到该人,因为它搜索的是db.collection('people').findOne({ name: {'$regex': req.params.person.replace(/-/g, ' '), $options: 'i'}})
。
这适用于以下字符串:
this-persons name
this persons name
thispersonsname
this-persons name
答案 0 :(得分:0)
我通过不同的方式解决了这个问题。我为每个项目创建了一个slug
属性