Рассмотрим этот пример,
{ <field>: { $regex: /pattern/, $options: '<options>' } }
Вы также можете прочитать полную документацию или посмотреть другие примеры Mongodb regexp здесь.
Я думаю, что вы не просто ищете {field: /regex/i}
, вам нужно указать каждое поле, которое использует регулярное выражение отдельно.
Следовательно, ваш код должен быть,
db.employer.update({companyName: { '$regex': /^ABC Corp$/i }}, {$pull: {employee: {name: {regex: /^mark smith$/i}}}})
Имя поля также будет искать в соответствии с регулярными выражениями.
Поскольку ваш код выше использовал только регулярное выражение в поле companyName
, а не поле имени.
Кроме того, не забудьте удалить цитаты в шаблонах регулярных выражений.
Записка из комментариев (спасибо, Джон).