亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將$ graphLookup的ObjectId與String匹配

將$ graphLookup的ObjectId與String匹配

一只萌萌小番薯 2019-12-06 10:59:51
我正在嘗試運行一個$graphLookup類似下面所示的示例:目的是在給定特定記錄($match在此處有注釋)的情況下,通過immediateAncestors屬性檢索其完整的“路徑” 。如您所見,這沒有發生。我$convert在這里介紹了_idfrom的處理方式,因為string相信可以與_idfrom immediateAncestors記錄列表(是string)進行“匹配” 。因此,我確實使用不同的數據運行了另一個測試(不ObjectId涉及):db.nodos.insert({"id":5,"name":"cinco","children":[{"id":4}]})db.nodos.insert({"id":4,"name":"quatro","ancestors":[{"id":5}],"children":[{"id":3}]})db.nodos.insert({"id":6,"name":"seis","children":[{"id":3}]})db.nodos.insert({"id":1,"name":"um","children":[{"id":2}]})db.nodos.insert({"id":2,"name":"dois","ancestors":[{"id":1}],"children":[{"id":3}]})db.nodos.insert({"id":3,"name":"três","ancestors":[{"id":2},{"id":4},{"id":6}]})db.nodos.insert({"id":7,"name":"sete","children":[{"id":5}]})和查詢:db.nodos.aggregate( [  { $match: { "id": 3 } },  { $graphLookup: {      from: "nodos",      startWith: "$ancestors.id",      connectFromField: "ancestors.id",      connectToField: "id",      as: "ANCESTORS_FROM_BEGINNING"    }  },  { $project: {      "name": 1,      "id": 1,      "ANCESTORS_FROM_BEGINNING": "$ANCESTORS_FROM_BEGINNING.id"    }  }] )...輸出了我期望的結果(這5條記錄直接或間接與id3 條記錄相關):{    "_id" : ObjectId("5afe270fb4719112b613f1b4"),    "id" : 3.0,    "name" : "três",    "ANCESTORS_FROM_BEGINNING" : [         1.0,         4.0,         6.0,         5.0,         2.0    ]}問題是:有沒有一種方法可以實現我一開始提到的對象?我正在運行Mongo 3.7.9(來自官方Docker)提前致謝!
查看完整描述

2 回答

?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

值得寫,因為您不會是最后一個問它的人。人們現在已經問過,誰還不知道這些“轉換”功能即將到來。一旦投入生產,我希望嘗試它的人數只會增加。因此,我想是“感謝您提出的問題”。

查看完整回答
反對 回復 2019-12-06
  • 2 回答
  • 0 關注
  • 1373 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號