@@ -70,7 +70,7 @@ Queue.prototype.add = function(payload, opts, callback) {
7070 opts = { }
7171 }
7272 var delay = opts . delay || self . delay
73- var visible = delay ? nowPlusSecs ( delay ) : now ( )
73+ var visible = delay ? ( delay instanceof Date ? delay . toISOString ( ) : nowPlusSecs ( delay ) ) : now ( )
7474
7575 var msgs = [ ]
7676 if ( payload instanceof Array ) {
@@ -92,9 +92,9 @@ Queue.prototype.add = function(payload, opts, callback) {
9292 }
9393
9494 self . col . insertMany ( msgs , function ( err , results ) {
95- if ( err ) return callback ( err )
96- if ( payload instanceof Array ) return callback ( null , '' + results . insertedIds )
97- callback ( null , '' + results . ops [ 0 ] . _id )
95+ if ( err ) return callback ( err ) ;
96+ if ( payload instanceof Array ) return callback ( null , '' + results . insertedIds ) ;
97+ callback ( null , '' + results . insertedIds [ "0" ] ) ;
9898 } )
9999}
100100
@@ -121,8 +121,11 @@ Queue.prototype.get = function(opts, callback) {
121121 }
122122 }
123123
124- self . col . findOneAndUpdate ( query , update , { sort : sort , returnOriginal : false } , function ( err , result ) {
125- if ( err ) return callback ( err )
124+ self . col . findOneAndUpdate ( query , update , { sort : sort , returnDocument : 'after' } , function ( err , result ) {
125+ if ( err ) {
126+ return callback ( err ) ;
127+ }
128+
126129 var msg = result . value
127130 if ( ! msg ) return callback ( )
128131
@@ -152,7 +155,6 @@ Queue.prototype.get = function(opts, callback) {
152155 return
153156 }
154157 }
155-
156158 callback ( null , msg )
157159 } )
158160}
@@ -175,7 +177,7 @@ Queue.prototype.ping = function(ack, opts, callback) {
175177 visible : nowPlusSecs ( visibility )
176178 }
177179 }
178- self . col . findOneAndUpdate ( query , update , { returnOriginal : false } , function ( err , msg , blah ) {
180+ self . col . findOneAndUpdate ( query , update , { returnDocument : 'after' } , function ( err , msg , blah ) {
179181 if ( err ) return callback ( err )
180182 if ( ! msg . value ) {
181183 return callback ( new Error ( "Queue.ping(): Unidentified ack : " + ack ) )
@@ -197,7 +199,8 @@ Queue.prototype.ack = function(ack, callback) {
197199 deleted : now ( ) ,
198200 }
199201 }
200- self . col . findOneAndUpdate ( query , update , { returnOriginal : false } , function ( err , msg , blah ) {
202+
203+ self . col . findOneAndUpdate ( query , update , { returnDocument : 'after' } , function ( err , msg , blah ) {
201204 if ( err ) return callback ( err )
202205 if ( ! msg . value ) {
203206 return callback ( new Error ( "Queue.ack(): Unidentified ack : " + ack ) )
0 commit comments