第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何根據(jù)主文檔ID匹配mongodb子數(shù)組?

如何根據(jù)主文檔ID匹配mongodb子數(shù)組?

我的 pymongo 腳本中有以下管道:pipeline = [    {'$match': {'_id': '123456'}},    {'$lookup': {    'from': 'Case',     'localField': '_id',     'foreignField': 'RecordList.Record._id',     'as': 'CaseInfo'}    },   {'$unwind':'$CaseInfo'},   {'$unwind':'$CaseInfo.RecordList'},   {'$unwind':'$CaseInfo.RecordList.Record'},   {'$match': {'CaseInfo.RecordList.Record._id': '123456'}}]我需要更改最后一行代碼,這樣我就不需要手動(dòng)指定文檔 ID,而是從初始文檔中獲取它。我嘗試了以下但沒(méi)有運(yùn)氣:{'$match': {'CaseInfo.RecordList.Record._id': '_id'}}{'$match': {'CaseInfo.RecordList.Record._id': '$_id'}}請(qǐng)你幫助我好嗎?另外,這是完成此任務(wù)的最有效方法,還是應(yīng)該使用 $project?我嘗試使用它,但我不知道文檔的結(jié)構(gòu),我需要文檔中的每個(gè)字段。我不確定是否有辦法在 $filter 運(yùn)算符中不指定“1”(因?yàn)槲也恢梨I名)提前致謝
查看完整描述

1 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

在 3.6 版本中,您可以將最后一行更改為


{'$match': {$expr:{$eq:['$CaseInfo.RecordList.Record._id', '$_id']}}}.


或者,您可以重寫(xiě)聚合以$lookup與管道變體一起使用。


就像是


[

  {"$match":{"_id":"123456"}},

  {"$lookup":{

    "from":"Case",

    "let":{"_id":"$_id"},

    "pipeline":[

      {"$unwind":"$RecordList"},

      {"$unwind":"$RecordList.Record"},

      {"$match":{"$expr":{"$eq":["$RecordList.Record._id","$$_id"]}}}

    ],

    "as":"CaseInfo"

  }},

  {"$unwind":"$CaseInfo"}

]


查看完整回答
反對(duì) 回復(fù) 2021-07-28
  • 1 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)