问题标签 [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.
memory-management - 将大于机器内存的数据存储到数据库中
我需要如何或以何种方式将大于机器内存的数据量存储到数据库中(例如数据为 20 GB,RAM 为 16 GB)。考虑到我使用的是一台机器,并且所有数据都是面向文档的(NoSQL)
database - 使用 mongo 自动过期功能从集合中删除一些过滤后的文档
我有一个名为“feed”的集合
每个文档中都有名为“status”和“scheduleDate”的键。
我想在 scheduleDate 键上设置一个基于 ttl 的索引,但只有那些文档应该被删除
有没有办法做到这一点?
arrays - 如何使用 id 匹配的 json 对 Mongo DB 对象数组进行批量更新
我需要使用具有 id 的对象数组来更新 MongoDB 字段,需要在 JSON 对象中使用相同的 id 进行更新
如果我在 MongoDB 中有类似的东西
我有这样的 JSON 数据要插入 Mongo
更新后,我需要 Mongo 集合中这样的最终数据
mongodb - 如何在mongo中存储企业层次结构?
我不擅长文档数据库,想提高自己。任务是:将企业层次结构存储到 Mongo DB 中。
有雇主和部门。每个雇主都属于一个特定的部门(顺便说一句,如果有人属于多个部门怎么办?)。当然,有员工等级制度:主管是根。所以除了主管之外的每个人都有一个直属上司(如果有人有多个不是来自同一分支的上司怎么办?)
结构可以更改(可以说每天不超过一次)并具有时间戳。
那么如何将其存储到 Mongo DB 中呢?多收藏?还是一个集合和许多文档?
所有可行的想法都值得赞赏。
nosql - 面向键值的数据库与面向文档的数据库
我最近开始学习 NO SQL 数据库,并且遇到了面向键值的数据库和面向文档的数据库。由于它们具有相似的结构,它们的保存和检索方式不是完全相同吗?如果是这样的话,那么为什么我们将它们定义为单独的类型呢?否则,它们是如何保存在文件系统中的?
mongodb - MongoDB 中的“模板集合”是反模式吗?
MongoDB 新手在这里。假设像这张图片一样的设计,根据我在谷歌上搜索的教程和信息,我打算Member
收藏一个。原因是,这将成为我正在构建的系统的用户最常见的入口点。s 的数据OtherEntity
将嵌入到Member
文档中。
此外,无论是否Group
会获得自己的集合,GroupLeader
都将始终是Group
.
那么,我该怎么处理Group
呢?以下三个选项似乎都不是接近此设计的好方法:
Group
作为子文档嵌入Member
作为
Group
一个单独的集合,将Member
s嵌入到Group
s 中。作为
Group
一个单独的集合,并且只将一个引用放入Member
我不想选择选项 1 的主要原因:因为在将Member
s 分配给时Groups
,我需要知道哪些Group
s 是“当前”,哪些是“过期”或“关闭”(因此不能再分配)。因此 aGroup
会有一个“IsActive”标志或类似的东西,为了保持一致性,需要在所有成员中更新它(如果我要将Group
s 嵌入到Member
s 中)
选项 2 似乎是一种反模式(就像Group
有一个Member
s 的有界数组一样)。此外,正如我上面所说,应用程序用户的主要入口点是Member
s。
选项 3 似乎是一种更关系到事物的方法,这似乎不是在 MongoDB 中处理事物的好方法?无论如何,在阅读有关 a 的信息时Member
,总是需要显示(至少一些)有关Group
该Member
所属的信息。这似乎表明嵌入将/应该是首选选项(即选项 1)。
这让我想到了我打算处理它的方式和我的问题:
拥有一个Group
充当“原型”的 s 集合 - 该集合包含有关 a 的所有信息Group
,包括Member
当前是否可以分配 s。此外,我会将 a 的所有必需数据点嵌入(不引用)Group
作为Member
子文档。Group
然后从集合的相应“原型”复制此类子文档的数据。
我说得有道理吗?这是一种可接受/好的方法,还是我落入了反模式?还有其他我应该考虑的事情吗?这种“模式”有合适的名称吗?对不起,如果这是一个愚蠢的问题,真的很难打破关系思维^^'
感谢所有的答案和见解,
干杯,CG