[misc] mongodb: use findOne and find().toArray()

This commit is contained in:
Jakob Ackermann 2020-09-10 14:54:18 +01:00
parent 0bfe84db47
commit 6d3fa2ee5b
4 changed files with 22 additions and 35 deletions

View file

@ -115,16 +115,11 @@ module.exports = MongoManager = {
if (callback == null) {
callback = function (error, metadata) {}
}
return db.projectHistoryMetaData.find(
return db.projectHistoryMetaData.findOne(
{
project_id: ObjectId(project_id.toString())
},
function (error, results) {
if (error != null) {
return callback(error)
}
return callback(null, results[0])
}
callback
)
},

View file

@ -301,7 +301,8 @@ module.exports = PackManager = {
// console.log "query:", query
return db.docHistory
.find(query)
.sort({ v: -1 }, function (err, result) {
.sort({ v: -1 })
.toArray(function (err, result) {
if (err != null) {
return callback(err)
}
@ -380,20 +381,9 @@ module.exports = PackManager = {
fetchPacksIfNeeded(project_id, doc_id, pack_ids, callback) {
let id
return db.docHistory.find(
{
_id: {
$in: (() => {
const result = []
for (id of Array.from(pack_ids)) {
result.push(ObjectId(id))
}
return result
})()
}
},
{ _id: 1 },
function (err, loadedPacks) {
return db.docHistory
.find({ _id: { $in: pack_ids.map(ObjectId) } }, { _id: 1 })
.toArray(function (err, loadedPacks) {
if (err != null) {
return callback(err)
}
@ -428,8 +418,7 @@ module.exports = PackManager = {
return callback()
}
)
}
)
})
},
// Retrieve all changes across a project
@ -438,7 +427,8 @@ module.exports = PackManager = {
// get all the docHistory Entries
return db.docHistory
.find({ project_id: ObjectId(project_id) }, { pack: false })
.sort({ 'meta.end_ts': -1 }, function (err, packs) {
.sort({ 'meta.end_ts': -1 })
.toArray(function (err, packs) {
let pack
if (err != null) {
return callback(err)
@ -449,9 +439,9 @@ module.exports = PackManager = {
allPacks.push(pack)
seenIds[pack._id] = true
}
return db.docHistoryIndex.find(
{ project_id: ObjectId(project_id) },
function (err, indexes) {
return db.docHistoryIndex
.find({ project_id: ObjectId(project_id) })
.toArray(function (err, indexes) {
if (err != null) {
return callback(err)
}
@ -470,8 +460,7 @@ module.exports = PackManager = {
null,
new ProjectIterator(allPacks, before, PackManager.getPackById)
)
}
)
})
})
},
@ -617,7 +606,8 @@ module.exports = PackManager = {
}
return db.docHistory
.find(query, { pack: false })
.sort({ v: 1 }, function (err, packs) {
.sort({ v: 1 })
.toArray(function (err, packs) {
if (err != null) {
return callback(err)
}
@ -642,7 +632,8 @@ module.exports = PackManager = {
}
return db.docHistory
.find(query, { pack: false })
.sort({ v: 1 }, function (err, packs) {
.sort({ v: 1 })
.toArray(function (err, packs) {
if (err != null) {
return callback(err)
}

View file

@ -191,7 +191,8 @@ if (pending != null) {
.sort({
last_checked: 1
})
.limit(LIMIT, function (err, results) {
.limit(LIMIT)
.toArray(function (err, results) {
if (err != null) {
logger.log({ err }, 'error checking for updates')
finish()

View file

@ -190,7 +190,7 @@ describe('MongoManager', function () {
beforeEach(function () {
this.metadata = { mock: 'metadata' }
this.db.projectHistoryMetaData = {
find: sinon.stub().callsArgWith(1, null, [this.metadata])
findOne: sinon.stub().callsArgWith(1, null, this.metadata)
}
return this.MongoManager.getProjectMetaData(
this.project_id,
@ -199,7 +199,7 @@ describe('MongoManager', function () {
})
it('should look up the meta data in the db', function () {
return this.db.projectHistoryMetaData.find
return this.db.projectHistoryMetaData.findOne
.calledWith({ project_id: ObjectId(this.project_id) })
.should.equal(true)
})