因為種種原因被逼著寫mongo……

作為一個初學者,我發現了幾個坑:

新的協議沒文檔

官網上只有Legacy Driver Implementation Documentation這箇舊的協議文檔,新的文檔的鏈接是一個死循環,繞一圈可以回到原地(不信你試試)。可能有用的只有一個視頻,還是2011年的,不想看了,哦草。這裡還有一個2013年的,從stackoverflow看來的

當然官方給的各種語言的SDK里倒是一直在更新的。

但是給個文檔會死啊!

雖然是在用lua寫,所以本來也是作死。

但是給個文檔會死啊!

因為lua-resty-mongol沒有支持新協議,所以會有這麼個問題

在update里使用$pull,lua-resty-mongol用getLastError取被修改的行數,永遠是返回1(這特么誰設計的),沒辦法知道改成功了沒有。只能update前後各find一次比較了哈哈哈哈哈哈。

設計太坑爹

除了之前的getLastError永遠返回1以外,還有一個問題:

之前是2.4.x版本,升級到3.x之後,告訴我admin庫需要升級,否則沒法登陸,而且需要用2.6.x版本來升級

呵呵

還有一個問題:

現在我有這麼個文檔post,每個記錄是這樣的:

首先(只)取所有評論的話是沒有問題的↓:

現在我想取出_id是5下的前15條評論

這麼寫↑,post_content也出來了,post_content好大的啊,不想取怎麼辦啊

這麼寫↑,_id沒了,其他post_content還在

↑並沒有什麼卵用


↑這樣_id有,其他鍵沒了。

所以結果是_id必須留著……

沒錯我是強迫症,強迫症多著呢

 

從目前的我所遇到的情況來看,似乎mongodb能幹的奇妙功能用SQL資料庫一樣能搞,無非要再配合別的靠譜的nosql資料庫(比如redis這種)。至少寫了代碼還能預測能發生什麼。像mongo這樣寫著寫著給你個驚♂喜的實在受不了了。哦不過也有可能被虐著虐著就有感♂覺了呢(ง •̀_•́)ง

 

PS : 我是mongo初學者,歡迎大神來鞭撻我