在模板客户端上显示时,未知bson类型为DECIMAL128吗?

时间:2019-05-23 14:08:14

标签: mongodb vue.js meteor aggregate

我找到流星和聚合的用户,我尝试从服务器获取数据并测试它们是否都正常工作,但是在使用时遇到麻烦 .toNumber()函数,其数据类型数量在mongodb中为小数。我不确定要在模板中的客户端上显示数据。任何建议请帮助我 我的代码收集模式

集合架构(SimpleSchema)

amount: {
  type: Object, // I tried use `Decimal`
  blackbox: true,
},

服务器示例中的方法可以在插入金额存储后以数据类型十进制进行查找,并使用findOne abd聚合获取数据

import { Decimal } from 'meteor/mongo-decimal'
Meteor.methods({
   insert(){
     return Collection.insert({amount: Decimal(0.123)})
   },
   findOne(){
     return Collection.findOne({})
   },
   aggregate(){
     return Collection.aggregate([{ $limit: 1 }])[0] // sakulstra:aggregate
   }
 })

在使用findOne .toNumber()获取时在Client中获取数据可以正常工作,但是当与聚合.toNumber()一起使用时,则未知。 所以在查找查询期间,我得到了未知的bson类型DECIMAL128

Meteor.call('findOne', (err, res)=>{
    res.amount.toNumber() // Work fine with Decimal JS method
})     
 Meteor.call('aggregate', (err, res)=>{
    res.amount.toNumber() // don't work with Decimal JS method
})

0 个答案:

没有答案