Jelajahi Sumber

Refs #2027. Fixed issue where group fails on _id:null

Spencer Rathbun 12 tahun lalu
induk
melakukan
5799f614cd
1 mengubah file dengan 2 tambahan dan 2 penghapusan
  1. 2 2
      lib/pipeline/documentSources/GroupDocumentSource.js

+ 2 - 2
lib/pipeline/documentSources/GroupDocumentSource.js

@@ -106,13 +106,13 @@ var GroupDocumentSource = module.exports = (function(){
 
                         idSet = true;
 					}else{
-						//! @todo: _getTypeStr() breaks when trying to group on _id:null.
 						var typeStr = group._getTypeStr(groupField);
 						switch(typeStr){
 							case "number":
 							case "string":
 							case "boolean":
 							case "Object":
+							case "object": // null returns "object" Xp
                             case "Array":
 								group.idExpression = new ConstantExpression(groupField);
                                 idSet = true;
@@ -169,7 +169,7 @@ var GroupDocumentSource = module.exports = (function(){
 
 	proto._getTypeStr = function _getTypeStr(obj){
 		var typeofStr=typeof obj,
-            typeStr=(typeofStr == "object" ? obj.constructor.name : typeofStr);
+            typeStr=((typeofStr == "object" && obj !== null ) ? obj.constructor.name : typeofStr);
 
 		return typeStr;	
 	};