问题标签 [document-store]

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.

0 投票
1 回答
73 浏览

consistency - 在覆盖过去读取的文档时保证 FaunaDB 的一致性

我有一个 FaunaDB,我想与它作为文档存储进行交互。我有一个 api,它:

  1. 从 FaunaDB 读取整个文档
  2. 根据对 api 的输入任意改变数据
  3. 在保证数据没有被变异的同时写回变异的数据
  4. 如果在尝试写入时读取不是当前的,则错误或重试

在 Postgres 中,为了保证一致性,我会简单地使用 where 子句。由于 Fauna 是分布式的,我假设等价物更加细微,例如,我的理解是 CosmosDB 写入惯用地发送读取的 eTag 以检查以保证一致性。

0 投票
1 回答
69 浏览

mysql - MYSQL JSON - 在其兄弟键值上使用 WHERE 提取部分 JSON 字段

我正在尝试根据相邻键值提取 JSON 文档值的子集。

我的 JSON 字符串:

是否可以[X,Y,Z]在设置 WHERE 子句时返回$._metadata.id="2"

谢谢!

0 投票
1 回答
410 浏览

php - MYSQL JSON - 如何访问由数字键索引的嵌套 JSON 对象?

我正在尝试提取由数字键索引的 JSON 文档子树。

我的 JSON 字符串:

我的代码:

使用'$.tree[100]'结果

使用'$.tree.*'结果

使用'$.tree.abc'结果

所以,'$.tree.abc'有效,但'$.tree[100]'没有。

问题。如何values使用 '$.tree[100]' 表达式访问密钥?

谢谢!

0 投票
0 回答
67 浏览

php - 为 MongoDB 和 MysqlDB X DevApi 创建 PHP 包装器

我正在开发一个项目,该项目使用 MongoDB 来存储事务数据,而 MySQL 则存储所有其他数据。由于各种原因,我们正在考虑从 MongoDB 迁移到 8.0 版本的 MySQL xDevApi 的可能性。为了准备这种可能性以及简化学习曲线以及其他数据库注意事项,我正在考虑创建一个包装器,它允许我们切换数据库后端,而无需更新与 MongoDB 接口的代码中的所有位置.

我已经有一个大纲,但不确定这是最好的方法。我认为这是一个不错的开始,我只是不确定文件/文件夹结构。

当前文件/文件夹结构如下:

我的想法是使用类似于关系数据库的语言来帮助那些来自 RDB 背景的人(大多数将进入项目的人)的初始学习曲线。

我确信有更好的方法来组织事情,但老实说,我对文档存储一般不太熟悉。

这是与我迄今为止所拥有的代码一起使用的代码。

在从需要连接的所有文件调用的连接文件中。

定义要操作的集合。如果有必要,这可能会被保存到每个集合的唯一类名中。

必要时随时调用。

我还没有加入更新和删除功能,而且和/或功能被证明是困难的,但我能做到。

我的问题是关于这个项目的任何建议。关于继续前进的任何想法?我无法像 PDO 那样找到多个 NoSQL 数据库的包装器。我将不胜感激任何想法或建议。

0 投票
1 回答
789 浏览

amazon-web-services - 为 DynamoDB 中的时间序列数据选择复合键

我有一个时间序列数据,我想存储在 DynamoDB 上,关于开发人员任务的事件(包含在数据中)。我正在努力决定选择哪种分区键和排序键来满足我的访问需要的最佳方式。我应该选择哪些密钥/GSI 来满足下面解释的访问需求?

数据:

存储:

时间序列。

访问:

  1. 我想在具有特定 TeamId 的时间范围内获得所有结果。例如,通过查询teamAbetween 7/16/2019-8/20/2019,我会得到:
  1. 对于每个 TaskId,我想在具有特定 TeamId 的时间范围内获得最新结果。例如,通过查询teamAbetween 3/1/2019-8/1/2019,我会得到:
0 投票
0 回答
74 浏览

nosql - Couchbase 中的通用子文档 API

我想更新存储在 Couchbase 中的以下文档中的特定字段:

如何使用 Java SDK 编写通用查询来处理子文档更新的所有可能组合?例如,一个用户想要更新“addresses.delivery.country”字段,而另一个用户想要更新“name”字段。

对每个可能的子文档更新情况进行正确的自定义查询是很困难的。对吗?

0 投票
1 回答
41 浏览

mysql - 如何在 mysql shell JavaScript 模式下更改隔离级别?

我正在学习 MySQL 文档存储。而且我了解到读隔离实际上在文档存储中具有不同的隔离级别,但是我不知道如何在JS模式下的MySQL shell中设置事务隔离。

我使用 JS 模式,因为修改集合中的教程是在 JS 代码中。

请帮我解决这个问题,有没有办法做到这一点?

谢谢你。

0 投票
0 回答
28 浏览

mysql - 如何加入多个 MySQL JSON 表以生成用于折叠/展开导航树的 JSON 输出?

我已经成功完成了一些 MySQL JSON 文档存储式类型的查询,但现在我遇到了一个非常复杂的查询,超出了我的专业范围。任何帮助是极大的赞赏。

目标:从 MySQL 创建一个允许呈现此导航树的 json 提要:

导航树

制作步骤:

安装此 SQL 脚本: https ://implerus.com/st_overflow/profile.sql

然后安装这个 SQL 脚本: https ://implerus.com/st_overflow/oscal_rev5.sql

这将创建 2 个表:“profiles”和“oscal_rev5”,其中 json 数据被放置在每个表的“json_data”列中。

现在,如果您想快速查看哪些 json 数据被拉入到这些 json_data 列中,以下是数据:

https://www.implerus.com/st_overflow/profile_data.json

https://www.implerus.com/st_overflow/OSCAL_Rev5_Latest.json

所以,这是目标:

  1. 编写一个 mySQL JSON 查询,从配置文件 (json_data) 表中提取“控制 ID”。它应该返回“ac-1”、“ac-2”、“ac-3”、“ac-6.7”、“ac-6.9”、“ac-7”等。

我可以向您展示一个我认为应该有效的查询,但不能:

我没有得到任何结果,我不知道为什么。我怀疑它与路径和带连字符的双引号有关,但从我读过的内容来看,这就是你应该如何支持带连字符的查询。

  1. 然后,以某种方式将这些条目与 oscal_rev5 json_data 左连接,以检索“ac-1”、“ac-2”、“ac-3”、“ac-6.7”等值的所有标题,并将数据作为 json 返回那(在本例中为 ReactJS)将能够将上面的导航树绘制为 Bootstrap Accordion。因此查询应返回导航的 1 级部分(“访问控制”、“意识和培训”、“审计和责任”等,以及源自上述第 1 步的“子”节点。

我确实有一个检索“父节点”列表的工作查询:

我在返回子父控件列表时尝试失败:

什么都不返回,我不知道为什么。您会认为只需在路径中撞到一个节点就可以使用“$.catalog.groups.controls[*]”获取 id、class、title 数据,但它失败且没有错误。

请注意 OSCAL 数据中的“groups”->“controls”->“id”:“ac-1”的标题为“Policy and Procedures”。然后注意“groups”->“controls”->“id”:“ac-2”的标题是“Account Management”。并注意 "groups"->"controls"->"id": "ac-6.7" 的标题是 "Review of User Privileges"。对于导航树的第 2 级,这些都是返回的好数据。

并且由于所有这些“ac-1”、“ac-2”、“ac-6.7”等条目都以“ac”开头,那么它们都需要包裹在“父”“ac”节点下 - - -节点,根据同一个oscal json数据有一个标题叫做“访问控制”。同样,从第一步返回的所有以“at”开头的值都需要在结果中属于“Awareness and Training”父级。

  1. 然后,以某种方式 count() 导航树中属于“访问控制”、“意识和培训”、“审计和责任”等的所有子导航元素,并在 mySQL 结果中提供该数据。

所以,最大的问题是 - - - 有没有一种方法可以将所有 3 个步骤组合成一个 mySQL JSON 查询并返回一组区分父导航节点及其子节点的结果,以便以后可以输出为JSON 并用于驱动导航树 UI。

0 投票
0 回答
49 浏览

oracle - oracle 12 c 文档存储 RDBMS VS NoSql

我想知道 oracle 12 c Document Store RDBMS VS NoSql

我认为 Oracle 12c DocumentStore 的工作方式类似于 MondoDB(无模式数据库)。但是今天我听到了一个令人震惊的故事。

Oracle12C 数据库的工作方式类似于 RDBMS。oracle12c document-store 创建一个临时模式并将数据存储在数据库中。所以Oracle12c DocumentStore 不是NoSql。另外,如何在不单独安装的情况下使用 Nosql 作为 RDBMS 服务?它只是提供类似的功能,而不是 Nosql。

我说“这是ORACLE12C版本内置的一个功能,NoSql是正确的。”

没有结论,我不认为我错了,但我问一个问题是因为我想得到一个准确的答案。请提供答案或相关文件。