فهرست منبع

EAGLE6-4679: fixed conversion from bson number types to javascript numbers

Phil Murray 11 سال پیش
والد
کامیت
38485045a7
1فایلهای تغییر یافته به همراه10 افزوده شده و 0 حذف شده
  1. 10 0
      lib/pipeline/Value.js

+ 10 - 0
lib/pipeline/Value.js

@@ -45,6 +45,16 @@ klass._coerceToNumber = function _coerceToNumber(value) { //NOTE: replaces .coer
 		return 0;
 	case "number":
 		return value;
+	case "object":
+		switch (value.constructor.name) {
+			case "Long":
+				return parseInt(value.toString(), 10);
+			case "Double":
+				return parseFloat(value.value, 10);
+			default:
+				throw new Error("can't convert from BSON type " + value.constructor.name + " to int; codes 16003, 16004, 16005");
+		}
+		return value;
 	default:
 		throw new Error("can't convert from BSON type " + typeof(value) + " to int; codes 16003, 16004, 16005");
 	}