javascript - MongoDB 使用 getter 或 setter 代替聚合查找
问题描述
我有两个不同的集合,recipes_db
并且items_db
.
他们两个都很容易,没有!嵌入文档,让我们想象一下:
items_db
{
_id: 1,
many: other,
fields: with values
}
和recipes_db
{
_id: ObjectID("242423423"),
reagent_items: [1, 2, 3]
}
您可能已经注意到,该reagent_items
字段是一个数组,由集合中_id
的文档(项目)组成items_db
。因此,如果我想收到我的其中一个带有嵌入项目文档的食谱,我应该使用aggregation
with $lookup
。
问题是:是否可以编写某种工作:
- setter => 它将在插入时修改文档,因此当我在
recipe_id
集合中创建新配方时,它将遍历reagent_items
值,并findByID
在数组的每个元素上使用,并用嵌入的项目文档替换(或创建新字段)在里面? - 或 getter =>每次我请求食谱时都会收集
$lookup
哪些内容?items_db
我不寻求一个已经完成的解决方案作为答案。请问:有没有可能?如果确实如此,那么为什么没有人(或者我以前从未见过)使用它,或者使用aggregation.$lookup
?它会在未来引发任何性能问题吗?
解决方案
推荐阅读
- docker - docker-compose:记录到持久文件
- swift - Xcode / 斯威夫特 | 单击或键入 UITextField 时,按钮会变回原来的位置
- javascript - NodeJS 读取多个文件阻塞并返回快速响应
- spring - 路径变量或请求参数?
- git - 在 Git 中分支除 master 分支之外的任何其他分支时添加警告的最佳方法是什么
- sass - 如何在 scss 中简单地设置样式,以便多个元素使用相同的样式
- android - Expandable ListView 将子数据复制到父数据中
- wordpress - 如何使用 Action Scheduler WordPress 作业队列
- ruby-on-rails-5 - 安装 escape_utils (1.2.1) 时出错
- vb.net - 按列值查找行