繁体   English   中英

基于另一个集合更新集合的字段 - MongoDB

[英]Update field of a collection based on another collection - MongoDB

我有两个 collections 集合 A 的结构是

{
     id:
     product:
}

集合 B 的结构是

{
     id:
     product:
     status:
}

我想更新集合 B,就像集合 A 中存在产品一样,它会将状态 1 设置为集合 B 的相应文档。

SQL 语法就像

UPDATE B SET B.STATUS = 1 WHERE B.PRODUCT IN (SELECT PRODUCT FROM A);

我只需要在 MongoDB 中做同样的事情。 提前致谢。

在 MongoDB 4.2 中,您可以通过聚合来执行此操作。

  • 集合A
  • 集合 B 中的$lookup ,本地和外国字段均设置为“产品”
  • $unwind从查找返回的数组
  • $replaceRoot将查找到的文档设为 root
  • $项目status: {$literal:1}
  • $merge与集合 B

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM