问题标签 [document-oriented-db]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 持久的用户偏好 - 关系或面向文档的数据库
我正在研究在应用程序的会话到期后持久的用户偏好,并且很好奇根据人们以前的经验,关系数据库(即 Oracle、MySql)或面向文档的数据库(即 MongoDB、Redis)是否更适合这项任务。为了帮助澄清用户偏好的含义,我的网络应用程序将存储每个用户的非常详细的信息,包括但不限于:窗口大小和位置、网格列宽和顺序、各种小部件状态(折叠/取消折叠面板)。我的应用程序中的所有持久性当前都由关系数据库处理,
database-design - 为面向文档的数据库设计记录键 - 最佳实践
我们的团队已经开始开发一个由 Couchbase DB 支持的应用程序;对于我们每个人来说,这是第一次使用非 SQL 数据库。
我们已经开始定义我们的实体并采用 Couchbase 手册建议的使用“类型”前缀的做法:
但是我们意识到我们对选择创建复合文档键的策略感到困惑。我们经常使用柜台,他们需要自己的文件。我们的密钥变得复杂了:
我们已经考虑了不同的方法,但我们仍然是这个主题的新手,想请教一些建议。
分层键有什么好处吗?任何人都可以分享他们定义重要密钥的最佳实践吗?
mongodb - 是否可以将多种类型的对象存储到 1 个 mongodb 集合中?
使用面向文档的数据库 mongodb 和 Object Document Mapper (ODM) morphia
假设我们有 3 个不同的类;Object
,Category
和Action
.
这些对象都存储在集合中;对象、类别和动作。
Category
并且Action
是参考Object
当前实现的文档存储如下:
- Mongo (服务器/位置)
- 存储(数据库)
- 对象(集合)
- 对象(文件)
- 目的
- 目的
- 类别
- 类别
- 类别
- 类别
- 行动
- 行动
- 行动
- 行动
- 对象(集合)
- 存储(数据库)
是否可以在一个集合中存储 2 个不同的对象,在这种情况下Category
和Action
,如下一个示例所示?两者都有自己的身份!
- 蒙哥
- 店铺
- 对象
- 目的
- 目的
- 目的
- 设置
- 类别
- 类别
- 类别
- 行动
- 行动
- 行动
- 对象
- 店铺
database - 跨多个目录的元数据文件数据库
考虑与一个元数据文件相关联的多个二进制文件,每个文件跨多个目录:
元数据文件包含 XML 或 JSON 格式的结构化数据。是否有可以使用这些元数据文件对它们进行操作和运行查询的数据库?根据我对面向文档的数据库的了解,它们的数据文件存储在一个目录中。
我的问题与这个 stackexchange 问题有关。不幸的是,没有关于基于 XML 的解决方案的好的描述。
multi-tenant - 多租户数据库。每个租户一个集合还是一个数据库?
对于使用面向文档的数据库的 Web 应用程序的多租户架构,我可以看到两个可能的选项:
- 每个租户拥有一个数据库,并且集合在逻辑上将不同类型的对象分开。
- 每个租户有一个集合,所有用户数据都存储在一个数据库中,每条记录上都有某种标志或对象类型标识符。
是否有关于这两个选项以及它们之间的差异的任何研究或任何文件?
设计一个允许多个用户存储大量不同类型数据的 Web 应用程序的人会选择一个而不是另一个,是否有一个特定的标准或充分的理由?
除了速度/效率问题,还有什么其他会影响决策的事情要说吗?
编辑我知道一些术语可能是特定于数据库的,所以对于所有想知道我特指 MongoDB 的人来说。
mongodb - 数据库设计:从关系型数据库到Mongodb——多对多关系
在我的关系数据库中,我曾经有 5 个表,其中 2 个是联结表,另外 3 个具有多对多关系。
3张桌子是巴士,座位和乘客(乘客可以在一次公共汽车旅行中更换座位,因此每个乘客可以有更多的座位,每个座位可以有更多的乘客来保存历史)。
因此,现在尝试将其转换为面向文档的数据库,我不确定如何进行。我想给 Bus 提供一个座位参考列表,每个座位都有一个乘客参考列表(我的应用程序是一个座位历史应用程序,所以我试图让它保持座位居中),但我不知道如何从一位乘客向他的座位历史。我是否也应该为乘客集合添加一个对座位的引用列表,同时在座位集合中有一个对乘客的引用列表,并在每个转弯处更新两者?似乎是一个 hacky 解决方案。
我需要做的常见查询:获得最受欢迎的座位,让所有乘客获得一个座位,为一名乘客获得所有座位(全部针对特定公共汽车)
有人可以帮忙吗?
mongodb - NoSQL:面向文档的设计/MongoDB
我正在尝试使用面向文档的数据库,但我无法正确设计。
主要是,我想要一个可以存储飞机、座位、乘客的数据库,非常重要的是 - 乘客在特定飞机上所做的座位更改及其时间戳。
我需要查询飞机上的所有座位、飞机上的所有座位、飞机上的所有乘客、在某个时候选择特定座位的所有乘客、乘客在飞机上选择的所有座位以及大多数受欢迎的座位。
在关系数据库中,我只会使用 2 或 3 个多对多关系及其关联的联结表,但我不知道如何在面向文档的数据库中执行此操作。现在,这架飞机有一个关于座位和乘客的参考清单;座位和乘客相互引用。这不起作用,因为我不知道在哪里保存座位更改的时间戳。我想我需要另一个(一种连接)表,但我不确定如何正确地做到这一点。
有什么建议么?
node.js - 在猫鼬中实现手动链接/引用
对于几乎所有要存储两个文档之间的关系的情况,请使用手动参考。引用很容易创建,您的应用程序可以根据需要解析引用。
正如 mongodb 参考文档中所指出的那样,使用手动链接/引用而不是像这样使用 DBRef 似乎更合理:
通过 DBref 实现关系看起来非常简单。除此之外,我找不到关于如何在模式中最有效地实现手动引用的可靠资源。建议:
手动参考应该如何实现?也将非常感谢插入的示例。
mongodb - mongodb 是存储文字文档的理想选择吗?
我正在开发一个以半结构化方式存储法律文件的系统。MongoDB(或其他面向文档的数据库)是最佳选择吗?有没有更适合这个系统的 NoSQL 类型?
rdbms - Schema vs Schemaless DBMS
我正在将 Couchbase Lite 数据库用于我所知道的无模式项目,我对此感到非常满意,因为它解决了我的问题,但它提出了一个与 NoSQL(文档数据库)中的主键约束相关的问题。
众所周知,所有的 Schema Database 都会用表来表示,这些表可能有也可能没有主键/伪造键。例如,假设我有一个名为 Student 的表,其主键为 usn(大学座位号),以及其他属性,名字、姓氏、地址、联系人号码等。
美股 | 名字 | 姓氏 | 地址 | 联系电话
2BA11CS409 | 美国广播公司 | mnq | 班加罗尔 | 1234567890
2BA11CS410 | xyz | 二维码 | 孟买 | 1234567809
在这里,如果我再次尝试添加 2BS11CS409 值,该表将显示违反主键约束(无法添加重复键)的错误。
但是文档数据库中的情况是什么,它将如何识别文档中的唯一值,
我知道每个文档都有一个唯一的 ID,其键被索引以在数据库中搜索,但是我创建的另一个文档具有与上面相同的值,
当我尝试使用 usn 访问一个数据库时,它必须只返回一个文档,但它会返回我两个文档可能相同或不同。
我需要知道文档数据库中的主键/唯一键概念,它存在于关系数据库中。或者您可以将我重定向到一些文章
谢谢你。