问题标签 [nested-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.
java - 更新子文档的所有元素,其中 subdoucment 是列表的一部分
我与 MongoDB 中具有不同城市地址的营销人员有文档。
我的实体类是 Person、city 和 address。
如果该人转移到另一个国家,如 Canda 并想要更新法国 - 巴黎子文档。
我不知道哪个 Spring Data Mongo api 将在这里工作。
我已尝试使用以下代码,但没有任何更新。
如果我使用Update update = new Update().set("cities",city);
所有子文档,则替换为一个城市
预期产出
solr - 在 Solr 8.2 中索引和搜索嵌套文档
我遵循了https://lucene.apache.org/solr/guide/8_2/searching-nested-documents.html#child-doc-transformer中给出的示例。我的架构中有_nest_path_和_root_字段。
我想索引嵌套文档并搜索嵌套文档。上面的链接有一个示例使用 ChildDocTransformer 过滤掉与特定过滤器匹配的孩子,但在我尝试后它没有返回相同的结果。
mongodb - MongoDB / Mongoose如何通过_id返回嵌套子文档
MongoDB新手在这里。
我有一个看起来像这样的“客户”文档:
所以一个客户有很多products
,它有很多environments
,它有很多changeLogs
。我希望返回changeLogs
给定环境的列表,只有environment._id
继续。
我可以client
使用这个找到正确的文档_id
:
但这会返回整个client
文档。我想要的是changeLogs
从环境中返回数组_id: ObjectId("5a1bf4b410842200043d56ff")
假设我有_id
first environment
of the first product
,我想要的输出如下:
您会建议我使用什么查询来实现此目的?
非常感谢您的帮助。到目前为止的文档只是令人困惑,但我相信我最终会到达那里!
search - 如何在我的 Solr schema.xml 中表示子文档?
我正在尝试实现这样的文档层次结构,其中父级是“捆绑”,子级是“产品”:
这样我就可以支持“M blue products where imageUrl=xyz”之类的查询。
我已经像这样配置了我的 managed-schema.xml:
我正在用 Java 索引文档,如下所示:
但是当我尝试建立索引时,我收到“org.apache.solr.common.SolrException:错误:[doc=347] 遇到非多值字段颜色的多个值:[Black, Deep Royal, Navy]”。
我是否正确地组织了我的孩子的文件?
mongodb - 使用多个嵌套文档更新文档字段
我有一个现有的 MongoDB 文档,其中包含该字段files
(以及其他字段)。该files
字段是一个对象,现在我想用几个嵌套文档更新这个字段。我已经成功地使用以下语法插入了一个嵌套文档:
file
接下来,我尝试在失败的字段中同时插入另外 2 个文档
在这不起作用之后,我尝试使用第一个代码块一个一个地插入记录,但是插入filename2
(我不想覆盖现有的filename1
)。该文档已插入到files
对象中,但覆盖了现有文档filename1
。我尝试了几种不同的变体,但没有任何效果。
有关如何在一个字段中嵌套多个文档的任何反馈/帮助都会有所帮助。
javascript - 访问 JS 对象中的动态嵌套键
我有一个类似的数组['animals', 'cats', 'cute', 'fast', 'small', ...]
,并且想要访问对象的嵌套键,例如
通常我会写object['animals']['cats']['cute']['fast']['small']..
问题是键和级别数是动态的(所以我可以获得具有 2 个嵌套级别或 50 个的对象),所以我不知道如何完成
提前感谢您的帮助
solr - 具有字段标签关系的 Solr 嵌套文档:未存储在数组中的单个元素
在索引我的数据时,我发现一些嵌套文档没有正确存储。我运行 Solr 8.3 并使用文档中描述的标记关系。
数据
每当根实体Parent
具有任意数量的Child
实体时,我都会生成以下 PHP 数组:
然后将其编码为以下 JSON 对象:
而这正是 solr 查询返回的内容(加上自动生成的值__root__
,__nest_path__
等)。
问题
每当 aParent
只有一个Child
时,它们最终都会成为 solr 中的一个对象,而不是包含单个对象的数组。
预期搜索结果
真实搜索结果
断言
我已确保 php 数组和 JSON 对象的格式正确,直到它们被传递给 HTTP 客户端。
我已确保数组的数组键children
编号并从 0 开始。
问题
这是预期的行为吗?
我是否必须<fieldType/>
为标记的关系创建一个(即创建一个多值children
字段)?如果是,那我该怎么做?我还没有找到任何解释。
我可以做些什么来始终children
在我的搜索结果中获得一个数组,这样我就不必在迭代之前检查数据?
java - 如何在 MongoDb 中插入带虚线字段的嵌入式文档
假设我有以下 Java org.bson.Document
当我将 doc 插入我得到“虚线字段'field.with.dot'对存储无效”时,我检查了 mongoDB 不允许嵌套文档中的虚线字段的文档。
我该如何解决这个问题?因为 Document 是动态生成的,所以它可能有好几层深的虚线字段。注意:我不想替换“点”符号。
是否可以将虚线字段分解为嵌套字段?
c# - 使用 c# Mongodb 驱动程序查询和投影嵌套数组
嗨,我正在尝试学习如何将 mongoDb 与 c# 驱动程序一起使用。我有一个类似的集合:
和
嵌套数据可能非常大。
我想查询集合以返回一个日期范围内所有嵌套数据的列表(理想情况下将来自多个快照的数据连接在一起,但只有一个是一个好的开始)
我正在努力弄清楚如何正确过滤和投影。我已经阅读了有关如何过滤以及如何过滤和投影的示例,但我正在努力使其适用于所有这些条件
我正在尝试做这样的事情:
最好的方法是如何做到这一点?
谢谢
json - 来自嵌入式文档的 mongodb $lookup has_many 关联
我有一个板集合、一个列表集合和一个卡片集合。列表数组嵌入在板文档中。我正在尝试获得如下所示的输出:
我想将卡片嵌套在它所属的列表中。卡片文档有一个list_id
字段。我试过这个:
但这导致:
我知道我必须使用$unwind
才能获得我想要的结果,但我无法让它发挥作用