我需要有关 NoSQL/MongoDb 和数据/模型结构的建议

2024-02-20

最近我正在探索NoSQL 数据库。我需要关于如何针对给定问题以最优化、最有效的方式存储数据的建议。我现在的目标是 MongoDB。不过,它应该与 CouchDB 相同。

假设我们有这 3 个模型:

Story:
 id
 title

User:
 id
 name

Vote:
  id
  story_id
  user_id

我希望能够向数据库询问以下问题:

  • 谁给这个故事投票了?
  • 该用户投票了什么?

我在使用关系数据库时进行简单的连接。问题是,我应该如何存储这些对象的数据才能最有效。

例如,如果我将 Vote 对象存储为 Stories 的子集合,则很难获取信息 - “用户投票了什么”。


我建议将投票存储为故事列表_id每个用户中的 s。这样,您只需查看列表即可了解用户投票给了哪些故事。要获得为故事投票的用户,您可以执行以下操作:

db.users.find({stories: story_id})

where story_id is the _id有关故事的内容。如果您在以下位置创建索引stories这两个查询都会很快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要有关 NoSQL/MongoDb 和数据/模型结构的建议 的相关文章

  • 警告:访问循环依赖内模块导出的不存在属性“MongoError”

    我正在使用节点执行 API 并使用 Mongoose 当我给一个yarn dev启动我的 Nodemon Mongo 出现错误 我不知道如何解决这个问题 有人有什么想法吗 我使用的是 MongoDB Atlas 数据库 就在出现以下错误之后
  • Android中不同线程的数据库访问

    我有一个在 AsyncTasks 中从互联网下载数据的服务 它解析数据并将其存储在数据库中 该服务持续运行 当服务写入数据库时 活动会尝试从数据库中读取更改 我有一个数据库助手 有多种写入和读取方法 这会导致问题吗 可能尝试从两个不同的线程
  • Android:打开和关闭SQLite数据库

    我正在开发Android应用程序 我经常在其中访问本地数据库 该数据库可以从不同的主题访问 因此我遇到了数据库的协调问题 我使用以下open and close method public void open mDb mDbHelper g
  • 计算 mysql 数据库行数的最佳方法

    在遇到 mysql 查询加载时间慢的问题后 我现在正在寻找计算行数的最佳方法 我曾经愚蠢地使用过mysql num rows 函数来做到这一点 现在意识到这是最糟糕的方法 我实际上正在制作一个分页来用 PHP 制作页面 我找到了几种计算行数
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • Mongodb:语法错误:意外的标识符

    我是 mongodb 的新手 我正在使用 mongolab 创建免费数据库 我的数据库名称是 enron 使用在线 mongoshell 连接到 mongo 数据库然后发生错误 mongo ds033499 mongolab com 334
  • 插入具有多个值的外键

    我想知道 是否有可能创建一个表 其中我有一个接受外键但同一行可能有多个值的表 例如 Employee id name skillid Skill Skillid skillname 这里 Employee 的一个例子可以是 Employee
  • Express中间件修改请求

    我目前有一个正在运行的服务器 前端使用nodejs mongo express 和 W2UI W2ui 请求来自包含所有参数的记录数组 记录 名称 foo 我想编写一个中间件 在请求到达路由之前对其进行编辑和更改 您可以创建自己的中间件来处
  • 如何在 Ubuntu VirtualBox 中运行 Meteor 应用程序并使用 Windows 主机上的编辑器进行编辑?

    我希望在运行 Ubuntu 的 virtualbox 来宾中运行一个用于开发目的的流星服务器 该项目将位于主机上的一个文件夹内 该文件夹将共享给来宾 该文件夹本身位于 Dropbox 文件夹内 这样我可以在多个虚拟机和工作站之间共享开发 但
  • AWS RDS MySql - 如何在设置“公开可用”后允许访问

    刚刚使用默认设置和用户 密码创建了新的 AWS RDS MySql 实例 我也将其设置为publicly available并在此过程中创建新的 VPC 目前无法从我的笔记本电脑连接到此 RDS mysql h endpoint u myu
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • dbms_xmlgen.getxml - 如何设置日期格式

    我们使用 dbms xmlgen getxml 实用程序通过 SQL 查询生成 xml 该查询从几乎 10 15 个相关表中获取数据 默认情况下 日期格式生成于dd MMM yy格式 有什么方法可以在 dbms xmlgen getxml
  • MongoDB:javascript执行失败:无法在 src/mongo/shell/collection.js 保存 DBQuery 对象

    在 MongoDb 中 当我尝试修改集合中的现有文档时 它会生成以下异常 javascript execution failed can t save a DBQuery object at src mongo shell collecti
  • 护照本地猫鼬帐户注册的附加字段?

    我将 Passport local mongoose 与 Node js Express js MongoDB 一起用于 Web 应用程序 我想使用用户名字段 密码字段 公司名称字段和电话号码字段 所有字段 来注册用户作为字符串 但是 我只
  • 如何配置database.yml以部署到Heroku

    我最近升级到了最新版本的Rails 并且不明白如何将应用程序部署到Heroku 这是我的database yml file default default adapter postgresql pool 5 timeout 5000 dev
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • Node.js 和 Passport 对象没有 validPassword 方法

    我正在使用 Node js Express Passport 创建一个简单的身份验证 本地 到目前为止我所达到的效果是 当输入错误的用户名或密码时 用户将被重定向到错误页面 但是当用户输入正确的用户名和密码时 我收到此错误 node mod
  • 使用 KeystoneJs 的 Mongoose 二级种群 [重复]

    这个问题在这里已经有答案了 我需要用 Mongoose Keystone 填充两层 但遇到了障碍 我有 3 个模型 地区 国家和城市 地区包含国家 国家包含城市 我的模型 型号区域 var Region new keystone List
  • 如何使用 Wix 运行 sql 脚本创建数据库

    我在使用 Wix 创建数据库时遇到问题 我能找到的示例 参见下面的链接 都是首先使用 wix 创建数据库并运行创建表 sql 脚本 问题是我需要将 wix 设置为使用 CREATE DATABASE 运行 sql 脚本来创建数据库和表 而不
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • 在 PageViewController 中导航不起作用

    我有 3 种类型的 VC 第一种 VC 第二种 VC 是PageViewController有 3 页 我添加了PageController正常ViewController在这里 第三个是FinalViewController 第一个 VC
  • 多个动态输入文本javascript

    我在使用 javascript 创建多个输入文本时遇到问题 我的观点是每次之前的输入完成后都会创建一个新的输入文本 家长 我有一些组合框的代码 但这次我只需要输入文本框 我怎样才能做到这一点 我找到了这段代码
  • WSAEWOULDBLOCK 处理

    我已经在使用winsock 的C CLI 中为服务器编写了一个套接字 套接字使用异步方法来发送 接收和接受连接 在生产环境中实现套接字后 发送函数停止工作 并给出错误 WSAEWOULDBLOCK 根据我在网上的研究 这意味着套接字 IO
  • NavigationLink 在 ScrollView 中显示错误

    我在Swift编程的时候也遇到过这个问题 我创建了这个长框架 就在这里 该框架的主要思想将用于不同视图中的水平滚动视图 如下所示 它将打开不同的视图 这就是问题所在 如果我们想转换到不同的视图 我们需要NavigationLink 为了工作
  • linux c语言中如何将绝对路径转换为相对路径

    我想知道如何在linux Ubuntu 操作系统上的c语言中根据给定目录 包括链接文件 将符号链接的绝对路径转换为相对路径 我想搜索相对路径的子字符串 但如果它已经存在于文件夹层次结构的更高位置怎么办 这是我想要做的更具体的描述 相对路径
  • Java 中的“代码太大”编译错误

    Java 代码有最大长度限制吗 我写了一个超过10000行的函数 实际上 每一行都为一个数组变量分配一个值 arts bag 10792 newyorkartworld arts bag 10793 leningradschool arts
  • 如何将 Javascript 文件导入 Typescript

    我想知道如何从 Typescript 启动 Twitter Bootstrap carousel carousel 我必须实施jquery d ts修复 sign 调用 但我仍然收到错误 carousel 在 jquery d ts 中找不
  • 为什么“async/await”在我的情况下不起作用?

    我读到async await 但我有一个关键问题 首先 我解释一个旧的例子来展示我的问题的基础 然后我问我的确切问题 大家都知道 console log 1 console log 2 console log 3 Ex 123 这很简单 但
  • 在IIS7上启用跨域资源共享

    我最近遇到向另一个域发布 Javascript 请求的情况 默认情况下 不允许 XHR 发布到其他域 按照以下指示http enable cors org http enable cors org 我在其他域上启用了此功能
  • 如何在 VS Code 中调试时关闭警告?

    我正在使用 XDebug 在 VS Code 中调试 PHP 应用程序PHP Debug扩展名 并收到如下错误 我知道问题是什么以及如何解决它 但解决方案是如此巨大 以至于修复此类错误是我目前无法做到的 我想开始使用 VS Code 进行
  • AutoTokenizer.from_pretrained 无法加载本地保存的预训练分词器 (PyTorch)

    我是 PyTorch 的新手 最近我一直在尝试使用 Transformers 我正在使用 HuggingFace 提供的预训练分词器 我成功下载并运行它们 但如果我尝试保存它们并再次加载 则会发生一些错误 如果我使用AutoTokenize
  • Heroku/Django 部署:为什么我在成功部署和静态收集时收到错误 500?

    几个月来 我一直在努力在 Heroku 上部署我的第一个 Django 站点 我正在成功构建git push heroku master并使用成功收集静态文件heroku run python manage py collectstatic
  • 如何使 gremlin_python DriverRemoteConnection 对每次提交都有超时和重试限制?

    免责声明 我们目前正在使用gremlinpython 3 4 8我相信最近的版本中已经解决了其中一些问题 但我不确定 一般来说 这似乎是一个非常活跃的存储库 在过去两个最新版本日志 当前为 3 4 10 中进行了一些相关更改 很高兴根据需要
  • 使用 VB 6.0 解析远程 URL 处的 xml 文档

    我正在尝试使用 Visual Basic 6 0 解析驻留在远程服务器上的 xml 文件的内容MSXML2 DOMDocument class 我正在使用Load的方法MSXML2 DOMDocument类来传递 url url 的形式为h
  • 在 gdb 中查看 ASCII 寄存器内容

    假设 我现在处于这个位置 我想以ascii格式查看cl ch cx ecx等的内容 该怎么办 下面是子程序中显示的内容layout asm命令 RemCharCodeFromAToB standard entry sequence push
  • 可以对图像图标进行分层吗?

    我想知道是否可以在 Java 中对图像图标进行分层 我将使用 GIF 图像 并且将有一个图像图标网格代表我的 JPane 的 背景 当特定条件成立时 我需要能够在其他图像之上添加具有透明度的图像 问候 杰克 亨特 是的 这是可能的 有两种正
  • 使用 JavaScript 构建 XLSX 文件

    我正在尝试使用 JavaScript 和一些数据库查询结果构建 XLSX 文件 我必须使用 JavaScript 因为服务器后端仅提供 JavaScript 接口来使用 并且它不喜欢 jQuery 现在 我似乎已经发现了一些东西来实际创建要
  • 在 WooCommerce 中添加隐藏结帐字段?

    我想包含一个指向通过 WooCommerce 提交结帐表单的当前用户的个人资料的链接 也就是说 自动将当前用户的作者链接放置在隐藏字段中 如下所示 example com author username 我想通过在结帐表单中添加隐藏字段来实
  • Bootstrap 4从右到左自定义文件输入

    我正在尝试使上传文件输入方向从 bootstrap 4 从右到左 但到目前为止我尝试过的都不起作用 我还尝试改变不同标签的方向 div class form group div class col md 4 div class custom
  • 我需要有关 NoSQL/MongoDb 和数据/模型结构的建议

    最近我正在探索NoSQL 数据库 我需要关于如何针对给定问题以最优化 最有效的方式存储数据的建议 我现在的目标是 MongoDB 不过 它应该与 CouchDB 相同 假设我们有这 3 个模型 Story id title User id