2016-09-12 5 views
0

Я пытаюсь понять следующее из документации мангустов:Что это/параметр/означает в этом мангуста

// With a JSON doc 
Person. 
    find({ 
    occupation: /host/, 
    'name.last': 'Ghost', 

Что// означает в приведенном выше запросе? Я вижу, что из второй части мы можем запросить литерал с кавычками - «Привидение». Если мы хотим запросить на узле имени переменной, мы могли бы просто сделать хост правильно? Итак, что такое/host /?

ответ

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.

Смежные вопросы