gpt4 book ai didi

node.js - MongoDb数据关系

转载 作者:可可西里 更新时间:2023-11-01 10:32:38 26 4
gpt4 key购买 nike

我有一个:

  • MongoDB 数据库
  • NodeJS 上的 REST API
  • Angular JS 前端

现在我想创建数据库架构。它将是:

故事 - 用户插入带有描述的故事。

问题 - 与故事的关系。一个故事可以有 100 多个问题。

答案 - 与问题相关。一个问题只能有一个答案。

我应该在 MongoDb 中选择什么类型的关系?我需要更快的灵魂。例如:

{
title: "Story title",
descr: "Story descr",
questions: [
{body: "Question body", user: "User}
]
}

最佳答案

由于每个故事的问题数量可能很大,并且假设在显示故事时不需要显示所有问题(特别是在显示故事列表时),并且因为一个文档有很多作者会带来很多复杂性,我建议使用以下简单架构:

stories {
_id
title
description
}

questions {
_id
storyId
user
body
answer { ... }
}

找到一个故事的所有问题很简单(storyId 应该有一个索引),找到给定问题的故事很简单。我认为 answer 可以嵌入。不过,要小心并发写入,即当有人编辑问题而其他人写答案时。使用单个嵌入式文档比使用数组要容易得多,并且并发编写器的数量最多可能是两个,而不是数百个。

唯一稍微有点棘手的操作是删除故事,这需要您手动删除问题,但这实际上只是一次调用。

关于node.js - MongoDb数据关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19605614/

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