根据货币获取记录

时间:2019-12-29 18:00:24

标签: javascript node.js express mongoose

我有一张票表,每张票都有价格。我在数据库中将基础设置为美元,可以说有人想从美国以外的国家/地区购买机票,我想以当地货币向用户显示价格。什么是适当的方法。首先,我虽然可以在运行时将门票价格转换为本地货币,但是由于门票数量可能很大,因此此操作的成本很高。

对于货币换算,我正在使用Open Exchange Rates API,我需要根据通过req.query提供的货币提供价格。

我无法在此处显示实际代码,但有一个示例:

const express = require('express');
const Product = require('../models/Product');
const { fetchRates } = require('../services/fx_rates')

const router = new express.Router();

router.post('/products', async (req, res) => {

    const product = new Product({
        ...req.body
    });

    try {
        await product.save();
        res.status(201).send(product);
    } catch (e) {
        res.send(400).send(e);
    }
});

router.get('/products', async (req, res) => {
    try {
        const products = await Product.find()
        // if (req.query.to) {
        //     for (let product of products) {
        //         fetchRates(product.price, 'USD', to)
        //             .then(price => {
        //                 product.price = price
        //             })
        //             .catch(e => console.log(e))

        //     }
        // }
        console.log(products)
        res.status(200).send({ products: products })
    } catch (e) {
        res.status(500).send();
    }
});

module.exports = router

1 个答案:

答案 0 :(得分:0)

您可以使用nodejs-currency-converter npm。