1
所以我收藏的是这样的:MongoDB中只有一个元素从数组返回
{
"_id" : ObjectId("52722429d874590c15000029"),
"name" : "Bags",
"products" : [{
"_id" : ObjectId("527225b5d87459b802000029"),
"name" : "Prada",
"description" : "Prada Bag",
"points" : "234",
"validDate" : 1382562000,
"link" : "dasdad",
"code" : "423423424",
"image" : null
}, {
"_id" : ObjectId("5272307ad87459401a00002a"),
"name" : "Gucci",
"description" : "Gucii bag",
"points" : "2342",
"validDate" : 1383170400,
"link" : "dsadada",
"code" : "2342",
"image" : null
}]
}
,我想不仅是产品与_id 527225b5d87459b802000029,我尝试这样做:
$this->find(array(
'_id' => new \MongoId('52722429d874590c15000029'),
'products._id' => new \MongoId('527225b5d87459b802000029')
));
但它会返回该集合的整个数组,并且我只想要一个...可以在mongo中完成这项工作吗?
是不是有一个'findOne()'代替'找到()'? – DanFromGermany
可能重复的[MongoDB只提取数组中的选定项](http://stackoverflow.com/questions/3985214/mongodb-extract-only-the-selected-item-in-array) – JohnnyHK
是的,findOne对不起 – user2885793