请问,如何在 Mongoose 里面把一些键和另外的集合的数据绑定起来?

2021-05-22 23:10:09 +08:00
 Cheez

简单来说,我需要用 Node.js 做两件事情:

  1. 计算排名
  2. 从不同的数据源里面拿数据,择出最优数据作为文档里面的值,其他的值作为 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
        }
    ]
}

839 次点击
所在节点    Node.js
1 条回复
hongweiliuruige
2021-05-26 15:30:51 +08:00
排名用 redis 有序列表非常完美

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/778610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX