diff --git a/src/lokijs.js b/src/lokijs.js index 0588569c..2a02dacf 100644 --- a/src/lokijs.js +++ b/src/lokijs.js @@ -4050,12 +4050,17 @@ }; } + var data = []; //Run map function over each object in the resultset for (var j = 0; j < leftDataLength; j++) { key = leftKeyisFunction ? leftJoinKey(leftData[j]) : leftData[j][leftJoinKey]; - result.push(mapFun(leftData[j], joinMap[key] || {})); + for( var k = 0; k < key.length; k++ ) + { + data.push( joinMap[key[k]] ); + } + result.push(mapFun(leftData[j], data || {})); + data = []; } - //return return a new resultset with no filters this.collection = new Collection('joinData'); this.collection.insert(result);