gpt4 book ai didi

node.js - 如何在mongoDB中存储100个 parent 中的数百万个 child

转载 作者:太空宇宙 更新时间:2023-11-04 01:50:35 25 4
gpt4 key购买 nike

我正在开发一个 Node.js 服务器,每 60 秒将子级添加到 100 个不同的父级。

parent 是100个不同的市场:

parents

子项是包含一些数据的时间戳: children

      ...millions of more timestamps

数据库中的时间戳将超过数百万。我正在考虑 祖先数组 在每个父级(仅 100 个)中存储子级(时间戳)数组,因此我认为这些数组将包含数百万个对象。这样安全吗?

我正在使用 mLab 并按照 MongoDB Docs 上的教程进行操作使用以下命令创建数据库:

db.collection('database').insert({ _id: "data", ancestors: [], parent: null })
db.collection('database').insert({ _id: "ADABTC", ancestors: ["data"], parent: "data" })
db.collection('database').insert({ _id: "entry", ancestors: ["ADABTC", "data"], parent: "ADABTC" })

但我最终得到了一些我无法理解的东西。我对 Firebase 非常熟悉,但由于存储海量数据时的成本问题,在尝试从 Firebase 切换到 MongoDB 时感到困惑。 mlab

我可以在 Node.js 中使用哪些方法来实现这个数据结构?

最佳答案

正如评论所说,这里没有正确的答案。如何向 mongo 数据存储添加记录以及如何从 mongo 数据存储检索数据将影响决策。我无法在评论中给出这个建议,因为我想展示一个格式化的示例。因此,将其作为答案发布,尽管我并不认为这是唯一正确的答案。

您可能需要考虑将其设置为平坦的,如下所示。那么速度就变成了索引的问题。它们制造起来既简单又便宜。下面可能需要一个关于名称的索引和一个关于名称、时间戳的索引。以下是有关如何执行此操作的详细信息:https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/

{
{
name: "ADABTC",
timestamp: 1521421385793,
close: 0.00001962,
high: 0.00001962,
etc...
},
{
name: "ADABTC",
timestamp: 1521421385793,
close: 0.00001962,
high: 0.00001962,
etc...
},
{
name: "AIONBTC",
timestamps: 1521421385793,
close: 0.00001962,
high: 0.00001962,
etc...
},
etc...
}

如果这变得太大(Mongo 可以轻松处理数百万条记录),那么您可能需要将每个市场分成它自己的集合。尽管根据您的查询/报告标准,这可能不太理想。

关于node.js - 如何在mongoDB中存储100个 parent 中的数百万个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49849396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com