我收藏了一些电影,包括标题,作家,评分,演员和其他领域。
我正在尝试查找电影中至少有一个演员的名字和姓氏以C开头,并显示标题和演员。 演员是一个由演员组成的数组(名字和姓在同一字段上),例如:{Matt Damon,Bradd Pitt}等...
我尝试过:
string = "octave myProgr.m"
const char *command = str.c_str();
system(command);
以及这样的聚合:
db.movieDetails.find(
{ actors: { $regex: "^C.C" , $options: 'i' } },
{_id:0, title:1, actors:1}
);
但是我只是想通过观察何时有一个以C开头的演员和另一个演员来避免这个问题,并且该解决方案仅部分起作用,因为它返回了我的两个演员的电影,这些演员的名字都以C开头。
我想知道是否可以使用正则表达式来检查所有以整个字符串开头的单词。
答案 0 :(得分:2)
您提供的正则表达式不正确。 ^C.C
基本上,它将匹配第一个字母和第三个字母为C的任何演员姓名。
相反,请尝试以下正则表达式:^C.* C
。说明:
Mongo代码:
db.movieDetails.find({
actors: {
$regex: "^C.* C",
$options: "i"
}
});