У меня есть коллекция фильмов с названиями, авторами, оценками, актерами и другими полями.
Я пытаюсь найти фильмы по крайней мере с одним актером с именем и фамилией, начинающимися с буквы C, и показатьНазвание и актеры.Actors - это массив с актерами (имя, затем фамилия в том же поле), например: {Matt Damon, Bradd Pitt} и т. Д. *
Я пробовал с этим:
db.movieDetails.find(
{ actors: { $regex: "^C.C" , $options: 'i' } },
{_id:0, title:1, actors:1}
);
а также с агрегацией, подобной этой:
db.movieDetails.aggregate(
{$unwind: '$actors'},
{$match: { actors: { $regex: "^C.C", $options: 'i' } } },
{$group: {_id: { actors: '$actors' , title: "$title" }}}
);
Но я просто пытаюсь избежать проблемы, посмотрев, когда есть актер, начинающийся с C, и другое вхождение, и это решение работает только частично, потому что оно возвращаетмне фильмы с двумя актерами, чье имя начинается с буквы C.
Я хотел бы знать, есть ли способ использовать регулярное выражение, например, для проверки всех слов, начинающихся с чего-то во всей строке.