Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb NoSQL数据库中的连接_Mongodb_Solr_Nosql - Fatal编程技术网

Mongodb NoSQL数据库中的连接

Mongodb NoSQL数据库中的连接,mongodb,solr,nosql,Mongodb,Solr,Nosql,我在为ApacheSolr开发文档结构时遇到了一个问题(不过,我想这个问题对于其他NoSQL引擎来说很简单和常见)。我有一个文档应该包含无数的用户引用(例如,其中有无数的字段)。在RDBMS中,我将使用两个简单的表,它们具有一对多的关系。然而,如何在NoSQL(特别是Solr)中实现这一点?包含无数字段(多值)的文档不会变得太重吗?Solr不支持字段级别的文档更新。应该整体更新,成本太高;(我不知道Solr,但MongoDB确实没有连接。您可以将相关数据嵌入其父实体中(对于Userobject,

我在为ApacheSolr开发文档结构时遇到了一个问题(不过,我想这个问题对于其他NoSQL引擎来说很简单和常见)。我有一个文档应该包含无数的用户引用(例如,其中有无数的字段)。在RDBMS中,我将使用两个简单的表,它们具有一对多的关系。然而,如何在NoSQL(特别是Solr)中实现这一点?包含无数字段(多值)的文档不会变得太重吗?Solr不支持字段级别的文档更新。应该整体更新,成本太高;(

我不知道Solr,但MongoDB确实没有连接。您可以将相关数据嵌入其父实体中(对于
User
object,嵌入用户角色是很自然的)

但是,如果由于此嵌入文档可能超出其限制(当前每个文档为16M),则您别无选择,只能将此相关数据存储在单独的文档中(作为单个文档或分组到多个文档批中)

如果您将数据与其主实体分开存储,那么自然地,您必须执行多个查询来获取所有数据


MongoDB支持就地部分更新文档。

我不确定solr,但playOrm有助于连接,但它位于表的分区上(而不是整个表)。因此,如果您按月份或帐户进行分区,您只需抓取该分区并使用普通SQL查询即可。不确定这是否会对您有所帮助。

在16M文档中搜索与某些标准匹配的字段(包含大多数字段)
用户
具有不同用户名的字段)的性能如何?例如,如果是documnt有结构
{users:[name1,name2,…]}
并且
users
字段被索引,那么查找包含给定名称的文档就很便宜了。这是MongoDB的,请确认。这是MongoDB的,请确认:-)谢谢:-)如果这样便宜的话-这是一种正确的使用方法。您有什么建议?将用户名保留为字符串还是将用户ID保留为整数更好?我对MongoDB绝对是新手。它对类型优化有什么影响吗?为什么是无数个字段而不是单个多值字段?