[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"blog-\u002Fblog\u002Fwechat_mini_program_lookup_join_table_query":3},{"id":4,"title":5,"body":6,"category":447,"cover":448,"csdn":448,"date":449,"description":5,"draft":450,"extension":451,"meta":452,"navigation":453,"path":454,"seo":455,"stem":456,"tags":457,"updated":448,"__hash__":460},"blog\u002Fblog\u002Fwechat_mini_program_lookup_join_table_query.md","微信小程序 lookup 联表查询",{"type":7,"value":8,"toc":440},"minimark",[9,14,22,32,35,41,47,55,63,65,68,344,354,356,360,364,370,376,378,382,386,392,399,401,405,411,436],[10,11,13],"h2",{"id":12},"微信小程序-云开发","微信小程序 云开发",[15,16,17,21],"p",{},[18,19,20],"code",{},"store"," 商品集合",[23,24,29],"pre",{"className":25,"code":27,"language":28},[26],"language-text","\n_id: 'a8831daa5fef02f50153146e5902c2aa',\nopenid: 'oMlDj5JiYiwxyBJm-d4JFY-Ov-LM', \u002F\u002F 发布商品者 openid\ntitle: '小米手电筒',\nliulan: 29,\nprice: 19.9,\nimgUrl: 'xxxxxxxxxxxxxxxx',\ntime: 1609499381638,\nshenhe: true,\n\n","text",[18,30,27],{"__ignoreMap":31},"",[33,34],"hr",{},[15,36,37,40],{},[18,38,39],{},"fav"," 收藏集合",[23,42,45],{"className":43,"code":44,"language":28},[26],"\n_id: 'b45a21d55ff155e2036603d6218fa777',\n_openid: 'oMlDj5JiYiwxyBJm-d4JFY-Ov-LM',    \u002F\u002F 收藏者 openid\nfav_id: 'a8831daa5fef02f50153146e5902c2a1'  \u002F\u002F 收藏的商品 _id\n\n",[18,46,44],{"__ignoreMap":31},[15,48,49,51,52,54],{},[18,50,39],{}," 集合记录数量 = ",[18,53,20],{}," 商品集合记录数量 * 所有商品总收藏数量",[15,56,57,58,62],{},"会产生 ",[59,60,61],"strong",{},"超级多"," 的记录",[33,64],{},[15,66,67],{},"联表查询 （我收藏的.wxml）云函数代码",[23,69,73],{"className":70,"code":71,"language":72,"meta":31,"style":31},"language-js shiki shiki-themes github-light","function getfavlist(event, context) {\n  return new Promise(function (resolve, reject) {\n    db.collection(\"fav\")\n      .aggregate()\n      .lookup({\n        from: \"store\",\n        localField: \"fav_id\",\n        foreignField: \"_id\",\n        as: \"storedetail\",\n      })\n      .match({\n        _openid: event.userInfo.openId,\n      })\n      .end()\n      .then((res) => {\n        console.log(res);\n        resolve(res);\n      })\n      .catch((err) => console.error(err));\n  });\n}\n","js",[18,74,75,105,135,153,165,176,188,199,210,221,227,237,243,248,258,281,293,301,306,332,338],{"__ignoreMap":31},[76,77,80,84,88,92,96,99,102],"span",{"class":78,"line":79},"line",1,[76,81,83],{"class":82},"sD7c4","function",[76,85,87],{"class":86},"s7eDp"," getfavlist",[76,89,91],{"class":90},"sgsFI","(",[76,93,95],{"class":94},"sqxcx","event",[76,97,98],{"class":90},", ",[76,100,101],{"class":94},"context",[76,103,104],{"class":90},") {\n",[76,106,108,111,114,118,120,122,125,128,130,133],{"class":78,"line":107},2,[76,109,110],{"class":82},"  return",[76,112,113],{"class":82}," new",[76,115,117],{"class":116},"sYu0t"," Promise",[76,119,91],{"class":90},[76,121,83],{"class":82},[76,123,124],{"class":90}," (",[76,126,127],{"class":94},"resolve",[76,129,98],{"class":90},[76,131,132],{"class":94},"reject",[76,134,104],{"class":90},[76,136,138,141,144,146,150],{"class":78,"line":137},3,[76,139,140],{"class":90},"    db.",[76,142,143],{"class":86},"collection",[76,145,91],{"class":90},[76,147,149],{"class":148},"sYBdl","\"fav\"",[76,151,152],{"class":90},")\n",[76,154,156,159,162],{"class":78,"line":155},4,[76,157,158],{"class":90},"      .",[76,160,161],{"class":86},"aggregate",[76,163,164],{"class":90},"()\n",[76,166,168,170,173],{"class":78,"line":167},5,[76,169,158],{"class":90},[76,171,172],{"class":86},"lookup",[76,174,175],{"class":90},"({\n",[76,177,179,182,185],{"class":78,"line":178},6,[76,180,181],{"class":90},"        from: ",[76,183,184],{"class":148},"\"store\"",[76,186,187],{"class":90},",\n",[76,189,191,194,197],{"class":78,"line":190},7,[76,192,193],{"class":90},"        localField: ",[76,195,196],{"class":148},"\"fav_id\"",[76,198,187],{"class":90},[76,200,202,205,208],{"class":78,"line":201},8,[76,203,204],{"class":90},"        foreignField: ",[76,206,207],{"class":148},"\"_id\"",[76,209,187],{"class":90},[76,211,213,216,219],{"class":78,"line":212},9,[76,214,215],{"class":90},"        as: ",[76,217,218],{"class":148},"\"storedetail\"",[76,220,187],{"class":90},[76,222,224],{"class":78,"line":223},10,[76,225,226],{"class":90},"      })\n",[76,228,230,232,235],{"class":78,"line":229},11,[76,231,158],{"class":90},[76,233,234],{"class":86},"match",[76,236,175],{"class":90},[76,238,240],{"class":78,"line":239},12,[76,241,242],{"class":90},"        _openid: event.userInfo.openId,\n",[76,244,246],{"class":78,"line":245},13,[76,247,226],{"class":90},[76,249,251,253,256],{"class":78,"line":250},14,[76,252,158],{"class":90},[76,254,255],{"class":86},"end",[76,257,164],{"class":90},[76,259,261,263,266,269,272,275,278],{"class":78,"line":260},15,[76,262,158],{"class":90},[76,264,265],{"class":86},"then",[76,267,268],{"class":90},"((",[76,270,271],{"class":94},"res",[76,273,274],{"class":90},") ",[76,276,277],{"class":82},"=>",[76,279,280],{"class":90}," {\n",[76,282,284,287,290],{"class":78,"line":283},16,[76,285,286],{"class":90},"        console.",[76,288,289],{"class":86},"log",[76,291,292],{"class":90},"(res);\n",[76,294,296,299],{"class":78,"line":295},17,[76,297,298],{"class":86},"        resolve",[76,300,292],{"class":90},[76,302,304],{"class":78,"line":303},18,[76,305,226],{"class":90},[76,307,309,311,314,316,319,321,323,326,329],{"class":78,"line":308},19,[76,310,158],{"class":90},[76,312,313],{"class":86},"catch",[76,315,268],{"class":90},[76,317,318],{"class":94},"err",[76,320,274],{"class":90},[76,322,277],{"class":82},[76,324,325],{"class":90}," console.",[76,327,328],{"class":86},"error",[76,330,331],{"class":90},"(err));\n",[76,333,335],{"class":78,"line":334},20,[76,336,337],{"class":90},"  });\n",[76,339,341],{"class":78,"line":340},21,[76,342,343],{"class":90},"}\n",[15,345,346,351],{},[347,348],"img",{"alt":349,"src":350},"在这里插入图片描述","https:\u002F\u002Fpub-5ec96507162a4f0a8e713a916117c9f4.r2.dev\u002Fblog\u002F95d106358b68508672e826d5a9cbd692.png#pic_center",[347,352],{"alt":349,"src":353},"https:\u002F\u002Fpub-5ec96507162a4f0a8e713a916117c9f4.r2.dev\u002Fblog\u002F1479bde0cee2c817298451fa3c704942.png#pic_center",[33,355],{},[10,357,359],{"id":358},"感觉把-微信小程序-云开发-文档型数据库-用成了关系型数据库","感觉把 微信小程序 云开发 文档型数据库 用成了关系型数据库",[10,361,363],{"id":362},"还可以给-store-商品集合-下的所有记录-新增-fav_openid-字段-一个数组存储-收藏者的-openid","还可以给 store 商品集合 下的所有记录 新增 fav_openid 字段 （一个数组存储 收藏者的 openid)",[23,365,368],{"className":366,"code":367,"language":28},[26],"\n_id: 'a8831daa5fef02f50153146e5902c2aa',\nopenid: 'oMlDj5JiYiwxyBJm-d4JFY-Ov-LM', \u002F\u002F 发布商品者 openid\nfav_openid: ['小明的 openid', 'Tom 的 openid', '马保国的 openid'],\ntitle: '小米手电筒',\nliulan: 29,\nprice: 19.9,\nimgUrl: 'xxxxxxxxxxxxxxxx',\ntime: 1609499381638,\nshenhe: true,\n\n",[18,369,367],{"__ignoreMap":31},[15,371,372,373,375],{},"这样看上去 ",[18,374,20],{}," 商品集合存储空间会比较大？",[33,377],{},[10,379,381],{"id":380},"试试这样","试试这样？",[15,383,384,40],{},[18,385,39],{},[23,387,390],{"className":388,"code":389,"language":28},[26],"\n_id: 'b45a21d55ff155e2036603d6218fa777',\n_openid: 'oMlDj5JiYiwxyBJm-d4JFY-Ov-LM',                                    \u002F\u002F 收藏者 openid\nfav_openid: ['小明的 openid', 'Tom 的 openid', '马保国的 openid'],\n\n",[18,391,389],{"__ignoreMap":31},[15,393,394,51,396,398],{},[18,395,39],{},[18,397,20],{}," 商品集合记录数量",[33,400],{},[10,402,404],{"id":403},"推荐一下刚上线的-app-熊猫小账本","推荐一下刚上线的 App 熊猫小账本。",[15,406,407,410],{},[18,408,409],{},"熊猫小账本"," 一个简洁的记账 App，用于记录日常消费开支收入，使用 iCloud 保存同步数据。",[412,413,414,418,421,424,427,430,433],"ul",{},[415,416,417],"li",{},"支持备注，自定义时间偶尔忘记记账也没关系。",[415,419,420],{},"搜索历史记账，支持分类、金额、备注。",[415,422,423],{},"启动时需要面容\u002F指纹验证，保护个人隐私。",[415,425,426],{},"支持自定义分类功能，自由添加修改分类。",[415,428,429],{},"统计图表，支出收入一目了然。",[415,431,432],{},"每天提醒记账，不会有其他推送。",[415,434,435],{},"桌面锁屏小组件开发中。。。",[437,438,439],"style",{},"html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sqxcx, html code.shiki .sqxcx{--shiki-default:#E36209}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":31,"searchDepth":107,"depth":107,"links":441},[442,443,444,445,446],{"id":12,"depth":107,"text":13},{"id":358,"depth":107,"text":359},{"id":362,"depth":107,"text":363},{"id":380,"depth":107,"text":381},{"id":403,"depth":107,"text":404},"微信小程序",null,"2021-01-06",false,"md",{},true,"\u002Fblog\u002Fwechat_mini_program_lookup_join_table_query",{"title":5,"description":5},"blog\u002Fwechat_mini_program_lookup_join_table_query",[447,458,172,459],"云开发","联表查询","uOH7oSqzOe-8C_pOF7BB7GcE5OvXgLPCY79EOABaRfw",1793010851648]