Skip to content
This repository was archived by the owner on Oct 24, 2024. It is now read-only.

Commit e12c1c8

Browse files
eugeniopFrancesco Boscarino
and
Francesco Boscarino
authored
Update for mongodb 4.0 nodejs driver (#45)
* Updated to mongodb nodejs 4.0.0 driver * Bumped version * Handle fixed date delay Co-authored-by: Francesco Boscarino <[email protected]>
1 parent 4a10a75 commit e12c1c8

File tree

3 files changed

+629
-62
lines changed

3 files changed

+629
-62
lines changed

mongodb-queue.js

+12-9
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)