MongoDB多表更新

1、查询要更新的表Barcode2U9

db.getCollection("Barcode2U9")
.find({LotCode:{$in: [null,'']},CreatedOn:{$gt:new Date('2024-01-01T00:00:00Z')}})

2、更新sql

db.getCollection("Barcode2U9").aggregate([
    {
    $match: {
      LotCode:{$in: [null,'']},
            CreatedOn:{$gt:new Date('2024-01-01T00:00:00Z')}
    }
  },
    {
    $lookup: {
      from: "MO", // 关联查询MO集合
      localField: "MoDocNo", // 主表Barcode2U9关联字段
      foreignField: "Code", // MO表被关联字段
      as: "MO_details" // 查询结果存储在新字段
    }
  },
    {
        $unwind: "$MO_details"      
    }
]).forEach(function(item){
    //printjson(item.MO_details.LotNo)
    db.Barcode2U9.updateOne({"_id":item._id},{$set:{"LotCode":item.MO_details.LotNo}})
})

 

posted @ 2024-06-06 16:04  江境纣州  阅读(2)  评论(0编辑  收藏  举报