From cb8fc7d150a06cbbbc52d64866be9e1abba7f7b0 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Sun, 10 Jan 2021 14:41:25 -0800 Subject: [PATCH] MongoDB bulk get fix. --- db.js | 2 +- meshagent.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/db.js b/db.js index 4288e017..38e660cc 100644 --- a/db.js +++ b/db.js @@ -1479,7 +1479,7 @@ module.exports.CreateDB = function (parent, func) { } // If there are not results, send out a null callback - for (var i in obj.filePendingGets) { for (var j in obj.filePendingGets[i]) { obj.filePendingGets[i][j](err, null); } } + for (var i in obj.filePendingGets) { for (var j in obj.filePendingGets[i]) { obj.filePendingGets[i][j](err, []); } } // Move on to process any more pending get operations obj.filePendingGets = obj.filePendingGet; diff --git a/meshagent.js b/meshagent.js index 69ddb620..44315624 100644 --- a/meshagent.js +++ b/meshagent.js @@ -1205,7 +1205,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) { if (command.oldnodeid.length != 64) break; const oldNodeKey = 'node//' + command.oldnodeid.toLowerCase(); db.Get(oldNodeKey, function (err, nodes) { - if ((nodes != null) && (nodes.length != 1)) return; + if ((nodes == null) || (nodes.length != 1)) return; const node = nodes[0]; if (node.meshid == obj.dbMeshKey) { // Update the device name & host @@ -1283,7 +1283,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) { if ((obj.agentInfo.capabilities & 0x40) != 0) { // Return nodeid of main agent + connection status db.Get('da' + obj.dbNodeKey, function (err, nodes) { - if (nodes.length == 1) { + if ((nodes != null) && (nodes.length == 1)) { obj.realNodeKey = nodes[0].raid; // Get agent connection state