почему групповая сумма qty по элементу qty не равна нулю, но она показывает много чисел с буквой e "1.1102230246251565e-16" с агрегатом mongodb? - PullRequest
0 голосов
/ 17 мая 2019

Все, пожалуйста, помогите мне с суммой кол-во по пунктам, фактически это ноль, но когда я суммирую с агрегатом, это всегда показывает число, подобное этому 1.1102230246251565e-16 любое решение, которое нужно исправить. Вы можете увидеть мои предметы, как показано ниже, моя коллекция с совокупностью.

Например, это просто пример данных с совокупностью, пожалуйста, помогите мне или любые рекомендации. Я не уверен, что сумма отличается от того, что ожидать.

let data[
        {
          "_id" : ObjectId("5ca1d52e63102d00072fa433"),
          "itemId" : "91",
          "qty" : 10
        },
        {
          "_id" : ObjectId("5cde757ba9b05421b2fd4c02"),
          "itemId" : "91",
          "qty" : 7
        },
        {
          "_id" : ObjectId("5ccbca18b4448606bb6b32d9"),
          "itemId" : "91",
          "qty" : -10
        },
        {
          "_id" : ObjectId("5ccbef392dee2a084cd54a59"),
          "itemId" : "91",
          "qty" : -6
        },
        {
          "_id" : ObjectId("5ccbf5632dee2a084cd54bb3"),
          "itemId" : "91",
          "qty" : 20
        },
        {
          "_id" : ObjectId("5ccc0ae7f2f55c0a0745fa3e"),
          "itemId" : "91",
          "qty" : -10
        },
        {
          "_id" : ObjectId("5c9315ae1dfa340d69b85033"),
          "itemId" : "91",
          "qty" : -1
        },
        {
          "_id" : ObjectId("5cccf4149e6bf007522a4569"),
          "itemId" : "91",
          "qty" : 35
        },
        {
          "_id" : ObjectId("5cde7b03758b1a25055b9c4b"),
          "itemId" : "91",
          "qty" : -0.967
        },
        {
          "_id" : ObjectId("5cde7b03758b1a25055b9c50"),
          "itemId" : "91",
          "qty" : -9
        },
        {
          "_id" : ObjectId("5ccfa8380d4b880630c9c1b3"),
          "itemId" : "91",
          "qty" : -10
        },
        {
          "_id" : ObjectId("5ccfa85d0d4b880630c9c1c7"),
          "itemId" : "91",
          "qty" : -5
        },
        {
          "_id" : ObjectId("5ccfaf7c0d4b880630c9c1f5"),
          "itemId" : "91",
          "qty" : -5
        },
        {
          "_id" : ObjectId("5c935b486f6338291f31f907"),
          "itemId" : "91",
          "qty" : -10
        },
        {
          "_id" : ObjectId("5c9987c5ad6cb100076860b7"),
          "itemId" : "91",
          "qty" : 25
        },
        {
          "_id" : ObjectId("5ccfe4a388ed8d07d6328f3e"),
          "itemId" : "91",
          "qty" : -20
        },
        {
          "_id" : ObjectId("5c999660ad6cb100076860fe"),
          "itemId" : "91",
          "qty" : 25
        },
        {
          "_id" : ObjectId("5cde73a8a9b05421b2fd4bff"),
          "itemId" : "91",
          "qty" : -1.033
        },
        {
          "_id" : ObjectId("5ca424bac87f4f0007d833ba"),
          "itemId" : "91",
          "qty" : -10
        },
        {
          "_id" : ObjectId("5cad54eb9c7a210007ac456a"),
          "itemId" : "91",
          "qty" : -20
        },
        {
          "_id" : ObjectId("5cb03fc66554c600078fe7d4"),
          "itemId" : "91",
          "qty" : 20
        },
        {
          "_id" : ObjectId("5cc65fbd122c9300076f9f44"),
          "itemId" : "91",
          "qty" : -5
        },
        {
          "_id" : ObjectId("5cd152ba3790d300077bdc23"),
          "itemId" : "91",
          "qty" : -10
        },
        {
          "_id" : ObjectId("5cd234653790d300077bdc7a"),
          "itemId" : "91",
          "qty" : -9
        }
      ]
//Aggregate sum qty by item   
data.aggregate([
    {
        $match: {itemId:'91'}
    },
    
    {
        $group: { 
            _id: "$itemId",
            onhand:{$sum:'$qty'}
        }
    }
]).toArray()
// And the result it is not zero but it show like that 

//{
//	"_id" : "91",
//	"onhand" : 1.1102230246251565e-16
//}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...