我正在尝试搜索对特定数据项进行过滤的MongoDB数据库。具体来说,我希望USA = PG-13适合我的过滤器。如何搜索按特定值过滤的MongoDB数据库
如何提出请求:获取电影,其中美国的MPAA = PG-13?
收集国家:
{
"_id": ObjectId("4fd79ec34c9fda9d05000080"),
"en": "USA"
}
{
"_id": ObjectId("4fd79ec34c9fda9d0500007f"),
"en": "Hong Kong"
}
收集电影:
{
"_id": ObjectId("4fd79ec34c9fda9d05000081"),
"movieId": {
"imdb": "0848228"
},
"movieTitle": "The Avengers",
"movieYearSpan": {
"start": "2012",
"end": "2012"
},
"movieType": "Movie",
"movieMpaa": {
"verdict": "Rated PG-13",
"0": {
"mpaa": "IIA",
"country": ObjectId("4fd79ec34c9fda9d0500007f")
},
"1": {
"mpaa": "PG-13",
"country": ObjectId("4fd79ec34c9fda9d05000080")
}
}
}
我想首先得到美国的ID。
$cursorCountry = $collectionCountry->find(array("en" => "USA"));
$idCountry = $cursorCountry->getNext();
$_id = $idCountry["_id"];
$cursorMovie = $collectionMovie->find(array("movieMpaa.country" => $_id, "movieMpaa.mpaa" => "PG-13"));
不工作! 那么如何提出请求? 要获得电影,其中美国MPAA = PG-13?
'$ _id = new MongoId($ _ id)'help?无论如何,我会改变数据库@Gates VP的建议。 – Matthew