2016-05-24 1 views

答えて

0

getNextSequenceは値を返さないため、デバッグでどのように機能するのかわかりません。 findOneAndUpdateのコールバックは値を返しますが、それを読み取るものはありません。

コールバック関数をgetNextSequenceに渡してから、返さずにnextNumber._doc.seqでコールする必要があります。

例:

module.exports.getNextSequence = function (sequenceName, callback) { 

    var query = { "_id": sequenceName }; 
    var update = { $inc: { seq: 1 } }; 
    var options = { new: true }; 

    this.sequence.findOneAndUpdate(query, update, options, function (err, nextNumber) { 
     if (err) { 
      console.log('got an error'); 
      callback(err); 
      return; 
     }; 

     console.log(nextNumber._doc.seq); 
     callback(null, nextNumber.doc_seq); 
    }); 

}; 

var song = sequenceHandler.getNextSequence(CONST.SONG_NUMBER_SEQUENCE); 
var album = sequenceHandler.getNextSequence(CONST.ALBUM_NUMBER_SEQUENCE); 
関連する問題