如何解决我可以在$ unionWith阶段内的输入文档阶段使用变量值吗-MongoDB 4.4
我有两个集合,一个是组(分组产品),另一个是产品。我想通过一个产品ID来访问一组产品,然后从产品集合中填充文档中的ID,但是当产品ID没有任何组时,它应该只搜索产品集合中的ID。所以我的问题是-是否可能:
(我从名为'id'的请求中的参数中获得了一个单产品ID)
第一: 在组群中找到产品组
Group.aggregate[
{ $match: { grouped_products : id } },....
第二: 创建一个与输入文档grouped_products字段相对应的变量,如果没有该字段,请使用'id'值(因为并非每个产品都属于一个组)
最后:在$ unionWith阶段使用此变量来检索内部的文档:
{
$unionWith: {
coll: 'products',pipeline: [
{
$match: {
_id: { $in : ***the variable should be here*** }
}
},]
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。