问题标签 [embedded-documents]

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

mongoid - Mongoid 嵌入式关系扩展中的父对象

给定一个带有如下扩展的简单嵌入关系:

你可以这样说:

在扩展的m方法中,如何访问d我们正在使用的特定对象?

0 投票
1 回答
47 浏览

mongodb - 使用嵌入式文档,如果嵌入式文档经常被查询?

基本数据模型由 3 个对象组成:

类型的对象A并且B很少被创建(可能是每个月的对象之一)。每个A对象将只包含几个(= 1-5)个B对象。如果我使用嵌入,它看起来像这样:

C 类型的对象将始终如下所示:

我不能将 C 嵌入到 B 中,因为 C 对象的数量可能是无限的(= 连接到单个 B 对象的数百万个条目)。

A 和 B 对象可能每月修改一次。C 对象永远不会被修改。但是 C 对象会被非常频繁地插入(峰值负载应该是每秒大约 20 次插入)。

问题/问题:

每次我查询 C 类型的文档时,我都需要来自引用的 B 文档的一些信息(有时还需要来自 A 文档的信息)。例如,我需要检查是否允许我访问 C 对象:

如果我需要来自 A 和 B 的信息,这似乎很不错。正确的?


但是,如果我只需要 B 文档中的信息(通常是这种情况)怎么办?

如果我查询多个 C 对象,它们将始终(!)引用同一个 B 对象。使用非嵌入式数据库设计时,查询将如下所示:

最重要的问题是:如果我经常这样做,这两种变体之间会不会有巨大的性能差异?


奖金问题:

我可以对所有 A 对象设置唯一约束吗?我想让所有这些 a.bList.id ObjectIds 都是唯一的(我知道它们应该(!)是全局唯一的,但是对 DB 级别的约束让我感觉更安全)

0 投票
1 回答
2646 浏览

ruby-on-rails - Rails 4 MongoID 嵌入式文档

我有以下型号

我想包含一个嵌入式文档,我可以在其中存储多个办公地址。我正在寻找以下数据库结构

0 投票
1 回答
3124 浏览

mongodb - MongoDB - 嵌入式文档列表上的 $addToSet

我在一个文档中有一个(mongodb)嵌入式文档列表,我有兴趣在现有文档列表中添加一个新的嵌入式文档。

据我研究,我可以使用$addToSet,我想不通的是MongoDB如何确定新文档是否已经存在于嵌入文档的列表中,或者它是否是一个新文档,即MongoDB如何决定是否2 嵌入文件是否相等?

ps 我拥有的嵌入文档不仅仅是值,它们是相当复杂的结构,所以我想知道是否有任何地方可以定义它们之间的相等性意味着什么......

0 投票
1 回答
1826 浏览

django - 如何在 Django Rest Framework 中正确使用 mongoengine 嵌入文档

我正在尝试制作一个使用 MongoDB 作为后端、Django Rest Framework 和 Mongoengine 作为前端的评论系统。

评论系统会将评论保存在数据库中,每条评论都只有一个作者。

以下方法对我有用,但我想问你这是否是可行的方法。

我有一个嵌入作者文档的评论文档。

这就是我定义序列化程序的方式:

我定义了两个序列化器,CommentSerialiser

和已覆盖 to_native 和 field_to_native 方法的 AuthorSerializer:

0 投票
0 回答
432 浏览

python - MongoEngine 嵌入式文档。添加属性键错误

我对嵌入的文档进行了修改,添加了日期。我真的必须对数据库进行相同的更改还是可以通过 mongoengine 来完成?

样本:

这将引发以下问题:

在开发模式下我没有问题,因为我可以轻松删除数据库。但是我应该让这个工作也与生产版本一起工作,并且删除数据库不是一种情况。

0 投票
0 回答
673 浏览

json - MongoDB 嵌入式文档 PATCH 与 POST?

我想通过 Api 请求更新嵌入式文档,并且不想 PUT 整个父资源:

要更新嵌入文档,RFC 6902 A.16建议:

我非常喜欢这个并且会提供这个。但是为了更容易使用,可以使用以下别名:

也可以接受?另外,关于 JSON Api 标准有哪些好的资源?

0 投票
1 回答
1898 浏览

php - 变更集 Doctrine 事件监听器中的嵌入文档

我正在使用教义的事件侦听器类来实现数据库事件的日志记录。我正在使用 postUpdate 事件。我的 mongoDB 文档中有一个嵌入式文档。在 postUpdate 事件中,当我调用该$uow->getDocumentChangeSet($entity)方法时,我只获取更改集对象中的更改值。例如

这里更改集数组的第一个元素应该反映嵌入文档的旧状态,但它始终在两个数组索引中显示相同的(新)文档。对于没有嵌入文档的文档,它可以正常工作。任何想法?

0 投票
2 回答
213 浏览

arrays - mongodb将单个嵌入文档作为对象而不是数组查找

我想知道在 MongoDB 中查询单个嵌入式文档时是否有办法获取单个对象而不是数组

我有嵌入用户的

我可以使用此查询从组中查询单个用户

但它给了我一个带有 1 个用户初始化的“用户”数组

然后我必须选择数组中的第一个元素,

没有问题,但是我只需要在我的应用程序中编写更多代码,更好的方法应该是

所以我可以查询

如果有人知道方法让我知道

0 投票
2 回答
1057 浏览

mongodb - 在 MongoEngine 中的嵌套条目上使用多个条件进行查询

我有一个A包含b特定类型 EmbeddedDocument 的 ListField 的Document B,它有两个 StringFieldsxy.

让我们先填充它们:

我想搜索一个A包含B具有值x=x1和的特定条目的实例y=y1

我尝试用两个 构建一个查询,contains每个值一个。

成功案例奏效。问题是条件是独立的,那么它们可以匹配 list 的不同条目b

在 MongoEngine 中有没有办法确保这两个条件将应用于同一个条目?

提前致谢。