簡體   English   中英

如何在字段內的 mongodb 字段內應用查找?

[英]how to apply lookup inside mongodb field inside field?

我有Randomhospital命名集合,其中有一個名為醫院的字段,如下所示:

{
  "id": "GuDMUPb9gq",
  "Hospital Name": "UPHI",
  "Hospital City": "Gurgaon"
}

我還有另一個收集清單,其中有一個現場ClinicId 。我想通過將ClinicId與醫院 object Id 匹配來應用查找。

let pipeline=[{
            $lookup: {
                from: "Randomhospital",
                localField: "clinicId",
                foreignField: "hospital.id",
                as: "hospital_details"
            }
        }]
let query=await checklist.aggregate(pipeline)

但沒有按預期工作,它會產生空數組? 如果有的話,任何人都可以建議更正代碼嗎?

您正在從checklist lookup Randomhospital

確保 id 正確。

利用

       $lookup: {
            from: "Randomhospital",
            localField: "clinicId",
            foreignField: "id",
            as: "hospital_details"
        }

似乎您需要使用帶有let管道檢查文檔lookup運算符的另一種變體

您的解決方案可能如下所示:

let pipeline=[{
            $lookup: {
                from: "Randomhospital",
                "let": {"cid": "$clinicId"},
                "pipeline": [{
                  "$match": {
                    "$expr": {
                      "$eq": ["$hospital.id", "$$cid"]
                    }
                  },
                }]
                as: "hospital_details"
            }
        }]
let query=await checklist.aggregate(pipeline)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM