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