摘要:由于之前涉及分表,把用戶所關(guān)聯(lián)的各種數(shù)據(jù),我們暫設(shè)定為代表四種業(yè)務(wù)比如為,可能屬于表,表,表,表。現(xiàn)在要統(tǒng)一改為實(shí)現(xiàn)在表中有一個(gè)字段,類型是數(shù)組,分別存儲(chǔ)相當(dāng)應(yīng)的表明比如這樣。
由于之前涉及mysql分表,把用戶所關(guān)聯(lián)的各種數(shù)據(jù),我們暫設(shè)定為abcd,代表四種業(yè)務(wù)
比如userid 為1 ,可能屬于 a1表,a2表,b3表,d4表。
現(xiàn)在要統(tǒng)一改為mongo
實(shí)現(xiàn)在user表中有一個(gè)abcd字段,類型是數(shù)組,分別存儲(chǔ)相當(dāng)應(yīng)的表明
比如 abcd [0=>a1,1=>b2,2=>c3]這樣。
思路也很簡(jiǎn)單,分表找到數(shù)據(jù)庫(kù)屬于abcd的所有表,聯(lián)合查詢,取到表名和pid(person id),然后插入更新到mongo abcd字段即可。
以下是簡(jiǎn)單實(shí)現(xiàn):
test->d_user; while ($row = mysql_fetch_assoc($res)) { $collection->update(array("pid"=>(int)$row["pid"]),array("$addToSet"=>array("acdt"=>$row["tbname"]))); }
ps:myslq Union要進(jìn)行重復(fù)值掃描,所以效率比較低。如果合并沒(méi)有刻意要?jiǎng)h除重復(fù)行,那么就使用Union All兩個(gè)要聯(lián)合的SQL語(yǔ)句 字段個(gè)數(shù)必須一樣,而且字段類型要(一致)因?yàn)檫@些表里就是存了一個(gè)pid和時(shí)間,mongo的addtoset去重我猜又比mysql快,所以用了union all;
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/18795.html
摘要:由于之前涉及分表,把用戶所關(guān)聯(lián)的各種數(shù)據(jù),我們暫設(shè)定為代表四種業(yè)務(wù)比如為,可能屬于表,表,表,表。現(xiàn)在要統(tǒng)一改為實(shí)現(xiàn)在表中有一個(gè)字段,類型是數(shù)組,分別存儲(chǔ)相當(dāng)應(yīng)的表明比如這樣。 由于之前涉及mysql分表,把用戶所關(guān)聯(lián)的各種數(shù)據(jù),我們暫設(shè)定為abcd,代表四種業(yè)務(wù) 比如userid 為1 ,可能屬于 a1表,a2表,b3表,d4表。現(xiàn)在要統(tǒng)一改為mongo實(shí)現(xiàn)在user表中有一個(gè)abc...
摘要:如果不存在則創(chuàng)建新記錄。如果值為,執(zhí)行驗(yàn)證。如果選項(xiàng)為,在新建時(shí)插入文檔定義的默認(rèn)值。以模式進(jìn)行更新。禁用模式,允許覆蓋記錄示例更新多個(gè)為的文檔將設(shè)置為更新多條數(shù)據(jù)與相同更新一條數(shù)據(jù)設(shè)置無(wú)效查找查詢條件控制返回的字段控制選項(xiàng)回調(diào)函數(shù)。 在使用node.js時(shí),時(shí)常與之搭配的是mongoDB,一般我們不寫原生mongo語(yǔ)法,一個(gè)經(jīng)常使用的mongo庫(kù)便是mongoose,由于個(gè)人記性比較...
摘要:原文鏈接為什么選擇了我也不知道官方中文論壇官方文檔中文文檔安裝此處的方式是安裝部署不用考慮環(huán)境配置問(wèn)題,但是相應(yīng)的也會(huì)有一些弊端比如文件的修改等變得麻煩下方為鏡像的為了修改文件方便,加了一個(gè)文件夾方便和宿主機(jī)文件交換同步上傳的 原文鏈接 為什么選擇了NodeBB?我也不知道~~~ NodeBB官方Github NodeBB中文論壇 NodeBB官方文檔 NodeBB中文文檔 安裝 此...
摘要:創(chuàng)建三個(gè)數(shù)據(jù)庫(kù)目錄啟動(dòng)三個(gè)實(shí)例開啟命令行初始化查看添加一個(gè)從節(jié)點(diǎn)這里的是查出來(lái)的屬性添加一個(gè)再查看狀態(tài)可以看到變成了三個(gè)自動(dòng)恢復(fù)執(zhí)行下面的代碼模擬插入操作插入成功插入失敗正在 創(chuàng)建三個(gè)數(shù)據(jù)庫(kù)目錄 $ cd /data $ mkdir db27017 db27018 db27019 啟動(dòng)三個(gè)實(shí)例 $ mongod --replSet replset --dbpath /data/db27...
閱讀 3236·2021-11-24 10:43
閱讀 4197·2021-11-24 10:33
閱讀 3771·2021-11-22 09:34
閱讀 2125·2021-10-11 10:58
閱讀 3732·2021-10-11 10:58
閱讀 859·2021-09-27 13:36
閱讀 3579·2019-08-30 15:54
閱讀 2965·2019-08-29 18:41