From ba9813e5a37f0b32292ab599d3030ea6aaa45141 Mon Sep 17 00:00:00 2001 From: Nick Vlku Date: Sun, 9 Jan 2011 22:30:18 -0500 Subject: [PATCH] Fixed Issue 122: item_frequencies doesn't work if tag is also the name of a native js function Did this by checking if the item is a native function, if it is I set it to an initial numeric value. Future occurrences of the tag count correctly. --- mongoengine/queryset.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mongoengine/queryset.py b/mongoengine/queryset.py index 11d4706c..17ebc2e9 100644 --- a/mongoengine/queryset.py +++ b/mongoengine/queryset.py @@ -1209,11 +1209,19 @@ class QuerySet(object): db[collection].find(query).forEach(function(doc) { if (doc[field].constructor == Array) { doc[field].forEach(function(item) { - frequencies[item] = inc + (frequencies[item] || 0); + var preValue = 0; + if (!isNaN(frequencies[item])) { + preValue = frequencies[item]; + } + frequencies[item] = inc + preValue; }); } else { var item = doc[field]; - frequencies[item] = inc + (frequencies[item] || 0); + var preValue = 0; + if (!isNaN(frequencies[item])) { + preValue = frequencies[item]; + } + frequencies[item] = inc + preValue; } }); return frequencies;