问题标签 [schemaless]

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 回答
101 浏览

c# - 部分无模式文档覆盖无模式值

我在 C# 中有一个类,例如:

现在将其保存在 mongo 中可以正常工作。现在我想在这个文档中添加一些子文档。子文档的类如下所示:

我使用 Push-command 将这些详细信息添加到根文档中,如下所示:

到目前为止,这很好用,我有可能阅读MyEntry没有附加的所有内容Details,我可以阅读所有/第一个/最后一个/Details我想要的任何一个。但是我现在的问题是,如果我在 an 中更改某些MyEntry内容并保存它,则Details-Array 将被完全删除。
有没有办法在更新时单独留下类中未提及的字段?

0 投票
1 回答
618 浏览

java - 无模式 OrientDb 中的关系

在无模式中如何建立关系:嵌入或引用?

如果我使用该方法,我可以在 ODocument API 中阅读

要添加一个新字段,我强制字段类型而不是自动确定。我想通过这个函数我可以选择关系的类型。但是,如果我不使用这种方法,那么自动确定关系类型的方法是什么?

在这个例子中:

城市是嵌入的还是引用的?如果它是嵌入的,我怎样才能使它被引用,反之亦然?

谢谢!前!

0 投票
1 回答
62 浏览

ruby-on-rails - 设计用于存储、编辑和自定义列表的架构

我在数据库设计方面不是很有经验,并且以前没有构建过这样的东西,其中涉及创建和管理列表,因此非常感谢任何建议。性能可以稍后调整,更关心可维护性和可扩展性。

我正在使用 Mongodb,我允许教师创建由单独的可重用模块组成的个人教学大纲。教师可以反过来为不同的学生定制教学大纲。

###Option 1:将数字序列存储在“关节”表中:

要编辑它,我几乎需要在每次修改程序时重置所有序列。

###Option 2:使用指向前后的指针存储记录

###Option 3:将模块ID存储为教学大纲中的数组

这显然是最简单的,但我无法存储程序/模块的特定信息。另外,我需要自己进行验证检查。

另一个考虑是我需要允许教师反过来为学生定制教学大纲,如下所示:

0 投票
2 回答
216 浏览

sql - 支持 SQL 查询语法的无模式 dbms

是否有任何支持 SQL 查询语法的无模式 dbms?RDBMS 支持 sql 语言,noSQL DBMS 少模式。但是是否有任何架构较少支持类似于 sql 的查询语言?

0 投票
1 回答
326 浏览

mapreduce - 在插入之前批量检查值是否存在

我在 Couch db 中有一个数据库,其中包含以下文档:

有没有办法在插入新文档之前对每个值进行批量检查?

我想要实现的是,如果在数据库中的任何文档中存在键值对 foo.bar1 = baz 和 foo.bar2=1 ,其中 baz 等于我要插入的新值,批处理函数不应该插入新的文档。

更具体地说, foo.bar 是一个日期时间,如果该日期时间存在并且同一文档中的另一个值具有给定值,则不应执行更新。

我可以通过首先对值进行请求然后让客户决定来执行单个插入请求来解决这个问题。但是对于客户端和沙发数据库之间来回发送的所有数据,这将非常耗时。此外,在进行此类检查时,我更喜欢依赖数据库的完整性。还是那是解决问题的sql方式?

0 投票
1 回答
3663 浏览

types - Elasticsearch:有没有办法将对象字段的所有(可能是动态的)子字段声明为字符串?

我有一个 doc_type,其映射类似于这个非常简化的映射:

该字段clearances应该是一个对象,带有一系列用于过滤目的的字母数字标识符。典型的文档将具有以下格式:

问题是有时在索引期间,对象字段内的新字段的第一个索引内容clearances将完全是数字,如上例所示。这会导致 Elasticsearch 将此字段的类型推断为long. 但这是一个意外。该字段在另一个文档中可能是字母数字。当后一个包含此字段中的字母数字值的文档到达时,我得到一个解析异常:

我试图用这样定义的动态模板来解决这个问题:

但是它不断发生,如果第一个索引文档具有clearance.some_subfield可以解析为整数的值,它将被推断为整数,并且在该子字段上具有字母数字值的所有后续文档都将无法被索引。

我可以列出映射中所有当前的子字段,但它们很多,我希望它们的数量在未来会增加(触发映射的更新和需要完全重新索引......)。

有没有一种方法可以在每次添加新子字段时不诉诸这种完全重新索引的情况下完成这项工作?

0 投票
1 回答
419 浏览

mongodb - MongoDB:索引很痛苦吗?

一般来说,我想知道查询(以及索引)无模式数据结构的最佳实践是什么?(即文件)

假设我使用 MongoDB 在集合中存储和查询确定性数据结构。此时所有文档都具有相同的结构,因此我可以轻松地为我的应用程序中的任何查询创建索引,因为我知道每个文档都有索引所需的字段。

更改结构并尝试将新文档保存到数据库后会发生什么?假设我将两个字段 FirstName 和 Lastname 加入到 FullName。因此,该集合包含不确定的数据。我在这里看到两个问题:

  • 旧索引无法覆盖新数据,因此需要处理新旧字段的新索引
  • 应用程序应该负责处理文档的两种表示形式

当数据库中有许多更改导致文档结构的多个版本时,这可能会导致一个大问题。

我看到两种主要方法:

  • 懒惰的迁移。这意味着每个文档都按需迁移(即仅在从集合加载后)到最终结构,然后存储回集合。这种方法实际上并不能解决问题,因为它在任何时候都承认不确定性。
  • 强制迁移。这与 RDBMS 迁移的方法相同。在应用程序未运行时,在某一时间点对所有文档执行迁移。主要缺点是应用程序的停机时间。

那么问题来了:有什么好的方法可以解决这个问题,尤其是在没有应用程序停机的情况下?

0 投票
1 回答
678 浏览

cassandra - cassandra 2.0.9:查询未定义的列

使用 Cassandra 2.0.9 CQL,如何查询未定义特定列的?例如:

理想情况下,我希望能够做这样的事情:

或一些这样的,并返回 id==1 的行。有没有办法搜索没有分配特定列值的行?

恐怕我已经阅读了 Datastax 2.0 手册以及 CQLSH 帮助,但没有运气尝试为此找到运算符或语法。谢谢。

0 投票
1 回答
877 浏览

graph-databases - 如何使架构更少泰坦图?如何设置架构默认属性?

如何使架构更少泰坦图?如何设置架构默认属性?请提出一种方法?这是我的代码:

如何设置方案默认配置?如何将其设置为默认值以便生成自动模式?请提出一种方法或任何替代方法?

0 投票
1 回答
54 浏览

google-app-engine - 在无模式数据存储中存储用户兴趣列表

我希望用户输入他们的兴趣,这些兴趣可能已经在系统中,也可能不在系统中,并将它们存储在无模式数据库(具体来说是 GAE 存储)中,以便我可以轻松发现具有相似兴趣的用户。

我正在尝试做的一个类似示例是 LinkedIn 的技能表格。

我熟悉如何在 SQL 数据存储中完成此操作,但我正在尝试扩展我对无模式数据存储的了解。任何帮助将非常感激。