簡體   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