问题标签 [document-database]

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 投票
11 回答
110317 浏览

mongodb - 使用 Mongoose 从 MongoDB 文档中删除一个键

我正在使用Mongoose库通过 node.js 访问 MongoDB

有没有办法从文档中删除密钥?即不仅将值设置为null,而是将其删除?

0 投票
1 回答
143 浏览

c# - 只是另一个标签云问题

我有一个行为:

标签只是:

我希望能够查询数据库并返回一个 TagCount 列表,其中显示了标签的名称和它出现的次数。

到目前为止,我有这个:

很高兴什么也没输出。我知道有成千上万的行为,每个行为至少有几个标签。有任何想法吗?

理想情况下,我想传入一个行为 ID 列表来查询它。那么,给定一个行为列表,标签是什么,每个标签出现了多少次?

0 投票
1 回答
299 浏览

asp.net - 在 Windows 上托管进程内文档数据库

是否有任何文档数据库,类似于 MongoDB,ASP.NET Web 应用程序中运行,并且可以在没有任何独特机器配置的服务器上托管?

我问这个是因为我目前使用的托管服务提供商只支持 SQL Server 2008 作为数据库,但我想从文档数据库中运行我的网站。

(或者我最好使用专门的数据库主机,例如MongoHQ)?

0 投票
3 回答
613 浏览

identifier - 子文档的 RavenDB ID

我喜欢对象存储在 ravenDB 中的干净程度,但有一个实际问题我不确定最佳答案。

假设我有一个报价请求:

报价请求.cs

报价单.cs

当有人点击一个页面时,我会吐出一个他们可以从中选择的引用列表。这些报价仅与报价请求的一个实例相关。

我的问题是,由于子对象(例如列表中的报价)没有数据库生成的 Id,我如何生成查询字符串以让下一页知道用户想要购买哪个报价?

一个 providerId 可能有多个引号。

我的想法是添加一个 QuoteId 并根据 this.Quotes.Count 增加它,但这似乎有点 hacky,或者生成一个随机数,也有点 hacky。

人们通常如何处理这样的事情?

0 投票
3 回答
30083 浏览

mongodb - 如何在 MongoDB 中组织多对多关系

我有两个表/集合;用户和组。用户可以是任意数量的组的成员,并且用户也可以是任意数量的组的所有者。在关系数据库中,我可能会有第三个名为 UserGroups 的表,其中包含一个 UserID 列、一个 GroupID 列和一个 IsOwner 列。

我正在使用 MongoDB,我确信文档数据库中的这种关系有不同的方法。我应该将组列表和作为所有者的组列表作为两个 ObjectID 数组嵌入到 Users 表中吗?我是否还应该将 Groups 表中的成员和所有者列表存储为两个数组,从而有效地反映导致关系信息重复的关系?

或者桥接用户组表是文档数据库中多对多关系的合法概念?

谢谢

0 投票
1 回答
407 浏览

nosql - 是否有任何主要的面向文档的数据库系统在其 JSON 文档中压缩密钥?

我想使用面向文档的数据库存储大量 JSON 文档,所有文档都具有非常相似的模式(尽管不相同)。

一个示例文档:

是否有任何系统(CouchDB 等)使用压缩(任何类型的)来避免一遍又一遍地存储密钥字符串(例如“firstName”)?

当有数百万个文档时,我的动机是最小化磁盘上数据库的大小,特别是当某些重复键比“firstName”长得多时。

谢谢你的想法!

W


编辑:在考虑了更多之后,我想我要问的是一个更通用的压缩系统的特定情况,其中压缩字典(部分?)在文档存储中的多个压缩文档之间共享(并且可能建立在时间)。然后,这将处理的不仅仅是 JSON 密钥的压缩。

做起来会很有趣!

0 投票
5 回答
1620 浏览

sql - 在 SQL 中使用可变模式持久化复杂类型的最有效方法

我在做什么

我正在创建一个 SQL 表,它将为复杂类型的对象提供后端存储机制。我正在尝试确定如何以最佳性能实现这一目标。我需要能够查询复杂类型的每个单独的简单类型值(例如,地址复杂类型中城市的字符串值)。

我原本以为我可以将复杂类型值作为 XML 存储在一条记录中,但现在我担心这种设计的搜索性能。 我需要能够在不改变数据库访问层的任何内容的情况下即时创建变量模式


我现在在哪里

现在我正在考虑创建以下表格。

从这些表中,在执行查询时,我会在值表上执行一系列自联接。当我想通过 DocumentId 获取整个对象时,我将有一个通用脚本来创建一个模拟复杂类型的非规范化数据表的视图。


我想知道的

我相信有更好的方法来完成我想要做的事情,但我对不同 SQL 技术的相对性能优势有点太无知了。具体来说,我不知道以下性能成本:

我将不胜感激有关 sql 中这些性能问题的任何信息或资源,以及有关如何以更有效的方式解决此一般问题的建议。


例如,

这是我目前计划做的一个例子。

我有一个 C# 类地址,看起来像

一个实例是由new Address{Line1="17 Mulberry Street", Line2="Apt C", City="New York", State="NY", Zip="10001"}

它的 XML 值看起来像。

使用上面的 db-schema,我将在 Schemas 表中有一条记录,其中包含地址 xml 模式的 XSD 定义。该实例将具有一个唯一标识符(Documents 表的 PK),该标识符分配给 Schemas 表中 Address 记录的 SchemaId。然后在 Values 表中将有五个记录来表示此地址。

它们看起来像:

刚刚添加了一个赏金...

我的目标是获得我需要的资源,以便为我的应用程序提供一个完全可搜索的数据访问层,并具有从应用程序层生成的数据模式,不需要直接的数据库配置(即创建一个新的 SQL 表)为了向域模型添加一个新的聚合根。

我对使用除 SQL 之外的 .NET 兼容技术的可能性持开放态度,但我要求任何此类建议都得到充分证实才能考虑。

0 投票
4 回答
2115 浏览

sql-server - Sql Server XML 列替代 Document DB?

是否可以使用 Sql Server XML 列代替真实的文档数据库(例如 Couch 或 Mongo)?

如果我要为文档创建一个带有 guid PK Id 和 XML 列的表。与使用文档数据库相比,主要问题是什么?

Sql Server 支持对 XML 列进行索引,所以查询不应该是完全可怕的吗?

0 投票
2 回答
2157 浏览

c# - 用于评论的 MongoDB 文档设计(及其回复评论)

我有一个看起来像的模型:

我正在创建一个应用程序来存储有关我们应用程序中其他内容的评论 例如,如果评论是关于产品的,则 ArticleType 可以是“产品”,而 ArticleID 将是产品 ID...

我将使用 mongodb 来存储这些数据

我希望能够回复评论,并分层存储回复 我应该在评论文档中存储一个列表吗?

了 Rob Ashton 的这篇文章,这对于博客文章之类的东西很有意义,它的评论......

但是,在我的模型中,“回复评论”直接指父评论。

评论回复甚至可以有回复,使它们深x级......?这会超出 map reduce 类型查询的范围吗?

编辑:

“文章”可能是不好的术语 - ArticleType 和 ArticleId 只是将评论与特定“事物”联系起来的一种方式 - 例如,如果我们评论这个问题,articleType 可能是 stackOverflowQuestion 并且 id 是 5144273

如果我们对 ebay 拍卖发表评论,我们可以将 articleType 设为 ebay,将 articleId 设为 1234902493984(项目编号)

希望这更有意义......

0 投票
2 回答
3014 浏览

database-design - MongoDB:存储和何时使用关系

我是 MongoDB 的新手,所以请多多包涵。

我有两个问题:

首先,采取以下措施:

MongoDB 是否将“标题”和“作者”存储为该集合中该对象的每个条目的文本?或者它是否创建了一个模式并将这些转换为字段编号(或者根本没有,只存储数据)?

我的第二个问题是:什么时候应该使用“关系”?假设我有 100 个经销商,每个经销商包含(对象方面)1,000 个客户,每个客户有 10 个项目。这使得操纵一个巨大的整体对象。

在 SQL 世界中,这都是相关的“对象”。在 Document 世界中,我们尝试通过嵌入子对象来存储完整的对象。

但是,这可能很笨拙。对此的最佳做法是什么?有人可以指出我的指导方针。

谢谢。