標籤:
一、資料控制
mongodb操作資料量控制,千萬控制好,不要因為操作的資料量過多而導致失敗。
示範一下發生此類錯誤的錯誤提示:
二、多表關聯查詢實現
/*聲明變數bridge,用來記錄兩個集合所串連的橋樑。相當於sql語句中的Join on語句,on後邊跟的條件。有了橋樑以後,再進行關聯那就是易如反掌的事情啦。關聯橋樑所儲存的資料是什麼樣的類型就需要根據你自己的需求來進行建立了。我這裡用一個對象來作為橋樑,然後調用對象中的屬性。*/var bridge = db.info.findOne();/*javaScript語言是弱類型的語言,對於傳回值是什麼樣的類型一定要做到心中有數。在執行db.info.findOne()語句後,這裡的傳回值可以理解為一個對象,類似於一個javaBean而在這裡儲存的所有的欄位以及欄位值(我用sql語句的說法更易理解)相當於對象的屬性。*/print(bridge.userid)/*使用print語句可以列印出上面語句返回的對象資訊,進一步驗證傳回值是否如我們的猜測。在這裡userid這個欄位本來是集合中的一個文檔名稱,即理解為一個表中的欄位名稱。這裡卻相當於一個對象的屬性。*///迴圈用什麼都可以,只要能夠控制住次數,千萬不要因為資料量太大而導致操作失敗。for(info = db.info.findOne({"userid":bridge.userid}), //以上這句代碼就是用來匹配集合中合格,可以是任意mongodb的查詢語句 //只要語句滿足你的需求就可以,可以靈活變換。 error = db.warning.findOne({"userid":bridge.userid}), //上邊的這條語句同上 i = 0;i<1;i++){//這裡就是控制迴圈次數的啦。 print(info,error); //列印出我們匹配後的結果。 //關聯查詢如此簡單。}
我的查詢結果:
logtype其實就是我的集合名稱。
綜上:其實就兩個點。
1、明確橋樑
2、控制迴圈,如果資料量小的話就不用控制了,我的資料量太多了。
不管你有多少表,我相信只要掌握住此思路,一定可以輕鬆的寫出多表關聯代碼,輕鬆實現多表關聯。
mongodb操作之使用javaScript實現多表關聯查詢