如何限制/分页文档中的对象数组列表?
这是我存储在mongoDB中的文档:
{
"_id" : ObjectId("579639080a0b348a606d85ae"),
"user_id" : "578899888a73ce23604200a7",
"title" : "PM2.5",
"data" : {
"particles" : [
"1",
"2",
"3",
"4",
"5"
],
"timestamp" : [
1469853926953.0,
1469853933742.0,
1469853937594.0,
1469853940779.0,
1469853943601.0
]
},
"created_at" : ISODate("2016-07-25T16:06:32.533Z"),
"entries_number" : 5,
"__v" : 0,
"last_entry_at" : ISODate("2016-07-30T04:45:43.601Z")
}
我知道我可以使用mongoose-paginate限制所有文件:
Model.paginate({}, { page: 3, limit: 10 }, function(err, result) {
// result.docs
// result.total
// result.limit - 10
// result.page - 3
// result.pages
});
但我想实际分页/限制data object
中的项目:
"data" : {
"particles" : [
"1",
"2",
"3",
"4",
"5"
],
"timestamp" : [
1469853926953.0,
1469853933742.0,
1469853937594.0,
1469853940779.0,
1469853943601.0
]
},
有什么想法吗?
答案 0 :(得分:1)
Model.findOne({}, function(err, result) {
result.data.particle = result.data.particle.slice(page*limit,page*limit+limit)
});
如果您发布更多代码,可以更新以告知您如何使用多个模型构建它。