问题标签 [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.
mongodb - 使用 $set 更新嵌入文档
我有一份此表格的文件
我想更新preferences
嵌入文档中的特定字段。如果我$set
按以下方式使用操作数
preferences
文件被完全替换了,所以我得到了这个
虽然我想获得这个
我不能使用:
因为我不知道要更新哪个特定字段,所以我只有一个可能包含或不包含preferences
文档每个字段的对象作为输入。
arrays - 如何根据 MongoDB 中的另一个集合嵌入字段值更新嵌入集合字段的数组?
我已经在这个论坛中搜索了我的以下问题,但我无法找到解决方案。
库存收集:
}
inventory_new 收藏:
}
现在我必须使用inventory_new collections Embedded item“qty”字段值更新库存集合嵌入式数组的项目“qty”。我试过下面的代码。但我没有成功。请指教。
});
谢谢
mongodb - 在 mongodb 中查询嵌入文档的数组
我在编写需要将给定值与数组中所有嵌入文档中的某个字段进行比较的查询时遇到了一些麻烦。我将举一个例子来使这个问题不那么抽象。
假设我想使用 MongoDB 来存储我网络上的用户输入不同在线搜索引擎的最后查询。集合中的条目将具有如下结构:
现在假设用户用户名在某个引擎中输入了一个新查询。将此查询存储在数据库中的代码需要确定是否已经存在用户使用的引擎的条目。如果是,则该条目将使用新查询进行更新。如果没有,则应创建一个新条目。我的想法是仅当给定引擎没有条目时才执行,否则执行。为此,我尝试这样写我的推送:$push
$set
但是,即使给定引擎已经有一个条目,这也会推送一个新的嵌入文档。问题似乎是$ne
运算符不能像我期望的那样使用数组。我需要一种方法来确保数组中没有单个嵌入文档具有与指定引擎匹配的“引擎”条目。
有谁知道如何做到这一点?请告诉我是否需要进一步澄清这个问题......
ruby-on-rails - 跨嵌入式文档的 Mongoid HABTM 关系
我正在尝试在 Rails 4 中的两个嵌入式文档之间创建 Mongoid NN 引用关联,但是我发现很难弄清楚这是如何完成的。
我首先将 HABTM 关联添加到下面的相关模型 (Track
和Option
) 但当然我收到错误说这是不允许的,因为它们都是嵌入式的。
和
我完全理解为什么会这样,并且知道我需要参考父文档,但这是我遇到麻烦的地方。
我一直在尝试track_ids
通过控制台数组将轨道 ID 添加到,但我最终得到了与以前相同的错误:
“问题:由于 Track 是嵌入的,因此不允许通过关系关联从 Option 文档引用 a(n) Track 文档。摘要:为了从 Option 正确访问 a(n) Track,引用需要通过根Track 的文档。在一个简单的情况下,这将需要 Mongoid 为根存储一个额外的外键,在更复杂的情况下,Track 是多个级别的深度,则需要为层次结构中的每个父级存储一个键。
我很乐意存储额外的外键,但我不知道如何以及以什么格式。如果有人能指出我正确的方向,我将不胜感激。
mongodb - mongodb mongoengine 在下一个 EmbeddedDocumentLIst 字段上过滤文档
我在另一个 EmbeddedDocumentList 中有一个带有 EmbeddedDocumentList 的文档,我需要过滤集合,只检索对内部 EmbeddedDocumentList 中的字段具有指定值的文档,我的模型的简化版本是:
这是存储在集合中的文档样本
直接在mongodb上我可以通过查询实现这个结果
使用 mongoengine 我尝试以这种方式进行查询:
或使用原始 pymongo 查询
但是不工作还有其他选项而不是在应用程序级别进行过滤吗?
mongodb - 在 MongoDB 中更新多级嵌入文档
我正在尝试使用点符号和 $ 运算符更新 MongoDB 中的多级嵌入式文档。下面,我有一个由一个文档组成的集合:
我想通过以下方式更新此集合:
1)查询文档以匹配"name"
关键字数组(在第三级嵌入文档中)中的键与值"carbon nanotube"
2)然后我想将时间戳(time()
)附加到"queried":[]
键数组中具有键值对的同一嵌入文档"name":"carbon nanotube"
我知道这都可以在 update() 命令中完成:
但我认为我的点符号存在错误,因为我收到了一个错误SyntaxError: invalid syntax
。我是否需要更改我的架构才能执行此 update() 或者是否有其他方法来更新此嵌入式文档
python - 在 mongoengine EmbeddedDocumentListField 中分组
嗨,我在 mongo 中有这个用于存储用户购物车的测试数据:
这里的模型:
在这里,我将物品存储在用户的购物车中。现在我想获取项目列表字段中的所有唯一项目,因为会有重复的项目。
我执行以下查询来获取项目:
在这种情况下,我认为我必须对项目进行分组,我尝试在过滤器中使用原始查询:cart.items.filter(__raw__...)
但这不起作用,因为在这种情况下不支持原始查询。有人可以帮助我如何做到这一点吗?谢谢!
mongodb - 使用现有数据重新设计 MongoDB Schema
我有大约 200 000 个对象名称和 20 个角色和 500 个用户。角色分类为 admin、domain1、domain2、domain3、domain4..domain 20
一些角色 (domain1,domain4 ) 只能访问 5 个对象名称,而其他一些角色可以访问 500-20 000 个对象名称。管理员角色可以访问所有对象(200 万)。所以我必须映射管理员角色下的所有对象。所以我的数据模型如下所示。
这是 mongodb 文档 16mb 限制问题。如上所示,我无法在嵌入式文档中存储 200 万个对象名称以供管理员使用。
所以我们没有将对象名称映射到角色,而是将角色映射到每个操作。我目前的收藏设计如下。,
在这个模型中,我们面临着缓慢的查询响应。一些域只能访问很少的对象名称,但需要大量的嵌入式循环来识别对象。我们已经需要集合上的索引
mongodb - MongoDB - 使用查询提取嵌入文档
我有一个包含以下文档的集合:
我想找到所有薪水大于 900 的工作,结果将是:
我很确定我必须求助于 mongodb aggregation
。我设法达到的最好成绩是:
返回:
但这不是我想要的。我还希望jobs
删除密钥。我知道一种可能性是projection
像这样指定嵌入文档的每个变量:
但我宁愿避免它,因为嵌入的文档在某些领域可能会有所不同。