我试图根据最低/最高价格从收集中获得结果,但用户可能想要搜索英镑,而文档有美元。
我一直在考虑从对象和交换定价中查询Exchange集合,但是 因为mongodb不允许我使用" db"在$ where里面,它不能像这样工作。
对象集合(一条记录):
{
"_id": ObjectId("5473572cf1a76349020041c6"),
[...]
"pricing" : {
"basic" : 9470,
"currency" : "USD"
}
[...]
}
货币兑换系列(一条记录,美元< - >欧元):
{
"_id" : "USD",
"rate" : 11344,
"rateReverse" : 8815
}
答案 0 :(得分:0)
一种选择是不。
我实际上在这个领域工作,最近不得不为许多欧盟国家和美国实施增值税和定价,尽管在SQL中,但仍然适用相同的规则。
而是在保存时在产品上设置货币。是的,你会说的第一件事是:&#34;如果货币在价格之前发生变化会怎样?&#34;
在我开创的其他类型的应用程序中,我已经使用了每周一次的cronjob,它实际上会在整个星期内逐步更新价格。
在otehr应用中,价格总是由人进行审查和监控。因此我不会更频繁地使用这个cronjob。如果它们(价格)大量流失,这可能导致10,000个产品需要同时进行审查,因此它会在一周内被分解。此外,一周内的重大货币变化极为严重,不太可能。
为了打破货币定价所创造的工作并使其更加自动化,我们认为任何超过或低于5%的转换都是重要的并标记价格,这意味着大多数价格都是自动换货的
我们最初曾经在MySQL的现场计算中做过,但它确实很慢,特别是在加载货币表JOIN时。