我试图从mongoose文档中了解以下内容:
// With a JSON doc
Person.
find({
occupation: /host/,
'name.last': 'Ghost',
上述查询中/ /表示什么?我从第二部分看到,我们可以使用引号查询文字 - 'Ghost'。如果我们想查询变量名称主机,我们可以做主机吗?什么是/ host /?
答案 0 :(得分:2)
/host/
表示它是正则表达式查询:https://docs.mongodb.com/manual/reference/operator/query/regex/
为了解释手册,有四种方法可以在MongoDB中描述正则表达式查询:
{ <field>: { $regex: /pattern/, $options: '<options>' } }
{ <field>: { $regex: 'pattern', $options: '<options>' } }
{ <field>: { $regex: /pattern/<options> } }
{ <field>: /pattern/<options> }
在您的示例中,查询/host/
和'Ghost'
都会匹配文字Ghost
(/host/
也会匹配hosted
,hostess
, co-host
等)。有关此主题的更多说明,请参阅https://en.wikipedia.org/wiki/Regular_expression。
但请注意,关于索引使用的正则表达式查询有一些警告:https://docs.mongodb.com/manual/reference/operator/query/regex/#index-use。