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