mongooseのembed document

今までembed documentの扱いは割と苦手に思っていたが、実はArrayで出来ることは全部出来るらしい。

var ev = new EventEmitter();
Channel.findById(id, [], {}, function(error, channel) {
    if(!error) {
        channel.queue.pop();
        channel.queue.shift();
        channel.save(function(error) {
            error ? ev.emit('error') : ev.emit('end');
        });     
    } else {
        ev.emit('error');
    }
});
return ev;

みたいなことが出来るはずだ。pushだけだと思っていた。