【发布时间】:2015-04-01 17:46:20
【问题描述】:
我的 API 目前有一个从我的 MongoDB 数据库中获取事件的路由,基于 event_id。这工作正常。但是,我在此事件对象中有一个“照片”数组,该数组正在增长(目前该数组中有超过 3,000 个对象)。
我想传递一个limit 参数来限制从该数组中提取的结果数量,但无法弄清楚如何。以下是我当前的节点路由和 mongoDB 架构:
路线:
// get event by _id
app.get('/api/events/:event_id', function(req, res) {
// use mongoose to get event
Event.findOne({object_id: req.params.event_id}, function(err, event) {
// if there is an error retrieving, send the error. nothing after res.send(err) will execute
if (err)
res.send(err)
if (req.params.limit >= 0) {
// res.jsonp(event) with photos array limited to req.params.limit
}
res.jsonp(event); // return event in JSON format
});
});
架构:
var eventSchema = new Schema({
event: String,
city: String,
state: String,
date: String,
start: String,
end: String,
dateState: String,
radius: String,
team_1: String,
team_2: String,
object_id: String,
longitude: String,
latitude: String,
cover: {
img: String,
username: String
},
photos: []
})
【问题讨论】:
-
对不起,由于某种原因,它转到了更新操作员:\ docs.mongodb.org/manual/reference/operator/projection/slice
标签: javascript arrays node.js mongodb mongoose