我希望mongodb的mongoose查询回调结果只包含文档的某个部分。现在,以下代码返回整个文档,而不仅仅是假定的切片数组部分。任何线索为什么?在数据库中,pending实际上包含10个以上的元素。谢谢
var NotificationsReference = new Schema({
id : Number, //fbid
unRead : Number,
pendingSize : Number,
pending : [Notification]
});
NotificationsReference.find({ id: userId}, { pending: { $slice: [skip, 5]}}, function(err, result){
if(err || result === null){
callback("Failed");
}
else{
callback(result);
}
});
答案 0 :(得分:2)
尝试使用Mongoose API:
NotificationsReference
.findById(userId)
.where('pending')
.slice([skip, 5])
.run(function(err, docs){
console.log(err ? err : docs);
})