Мангуст, возвращает весь документ, а не только его часть - PullRequest
0 голосов
/ 14 февраля 2012

Я бы хотел, чтобы мой результат обратного вызова mongoose от mongodb содержал только определенную часть документа. Прямо сейчас следующий код возвращает весь документ, а не только предполагаемую часть нарезанного массива. Любые подсказки почему? В базе данных 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);
                   }
                });

1 Ответ

2 голосов
/ 14 февраля 2012

Попробуйте использовать для этого Mongoose API:

NotificationsReference
    .findById(userId)
    .where('pending')
    .slice([skip, 5])
    .run(function(err, docs){
        console.log(err ? err : docs);
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...