|
简单来说,我需要用 Node.js 做两件事情:
计算排名
从不同的数据源里面拿数据,择出最优数据作为文档里面的值,其他的值作为 Map 也放在文档里面
需要在我更新数据源的数据的时候,文档这边也会自动更新的话,需要怎么做呢?
排名会不会用一个内存数据库好些呢?
这样的需求,在 SQL 数据库里面实现容易吗?
用 updateOne 的 Hook 的话,实在是太麻烦了,在 Query 里面没法获取文档,并且还无法应用虚拟属性的 set……
e.g.
π 的值:
{
"数据": [
{
"name": "Pai 的值",
"value": 3.1415926,
"sources": {
"value": [
{
"name": "古巴比伦",
"value": 3.125,
"weight": 0
},
{
"name": "古印度",
"value": 3.139,
"weight": 1
},
{
"name": "祖冲之",
"value": 3.1415926,
"weight": 2
}
]
}
}
],
"数据源": [
{
"name": "祖冲之",
"Pai 的值": 3.1415926,
"weight": 1,
"rank": 1
},
{
"name": "古印度",
"Pai 的值": 3.139,
"weight": 1,
"rank": 2
},
{
"name": "古巴伦",
"Pai 的值": 3.125,
"weight": 0,
"rank": 3
}
]
}
排名用 redis 有序列表非常完美
|
|