怎么样:
db.vehicles.find({"vehicle_id":1}, {images:{$slice: 1}})
来源:
http ://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields#RetrievingaSubsetofFields-RetrievingaSubrangeofArrayElements
例子
db.vehicles.insert({"vehicle_id": 1, "mfg_year": "1928", "mfg_make": "Ford", "mfg_model": "Model A", "images": [{"url":"www.a.com"}, {"url":"www.b.com"}, {"url":"www.c.com"}]})
db.vehicles.insert({"vehicle_id": 2, "mfg_year": "1999", "mfg_make": "BMW", "mfg_model": "Model B", "images": [{"url":"www.a.com"}, {"url":"www.b.com"}, {"url":"www.c.com"}]})
db.vehicles.insert({"vehicle_id": 3, "mfg_year": "1998", "mfg_make": "FMerc", "mfg_model": "Model C", "images": [{"url":"www.a.com"}, {"url":"www.b.com"}, {"url":"www.c.com"}]})
//now the query
db.vehicles.find({"vehicle_id":1}, {images:{$slice: 1}})
输出:
{
"vehicle_id" : 1,
"mfg_year" : "1928",
"mfg_make" : "Ford",
"mfg_model" : "Model A",
"images" : [
{
"url" : "www.a.com"
}
]
}
编辑
您可以只指定要返回的字段,如下所示:
db.vehicles.find({"vehicle_id":1}, {"mfg_make":1, images:{$slice: 1}})
因此,在这种情况下,只返回mfg_make
and images
。
其他....
db.vehicles.find({"vehicle_id":1}, {"mfg_make":1, "some_other_field":1, images:{$slice: 1}})
如果这是一个 RDBMS,则此查询等效于:
SELECT mfg_make, some_other_field FROM tblVehicles WHERE vehicle_id = 1