mongoengine的數量獲取

在獲取數據庫數據的過程中,能根據需要而指定的獲取到數量,可以提高效率,節省時間。

mongoengin是使用[skip:limit]來指定數量的獲取,跳過skip個數據,獲取limit個數據,靈活運用即可。

例1:一個表中的數據類型有a,b,c,d四種,在數據庫中現在是無規律的存放。現在我只需要每種類型取1條數據來這樣顯示:


首先,最理想的情況就是,從此表開始取的四個數據,正好就是a,b,c,d四個類型,那麼就直接stop即可,高效完成了這個模塊的需求。

因此,可以確定以4個4個數據獲取爲入口解決。

那麼,接下來就是如何確定獲取到a,b,c,d四種類型了呢?這樣確定:if len(a) != 0 and len(b) != 0 and len(c) != 0 and len(d) != 0: flag=true

四個數組裏面,只要有一個還是空的,那麼就達不到要求。哪怕是99,99,99,0。一旦0->1,立刻stop。


例2:這個其實也不能說提高效率了,就是skip和limit的使用。我想把一個表中的數據分別4組4組的取


上面這些數據每一行是從一個表中一次取4個而來的。

video1 = DonghuaDoc.objects(classify='MMD·3D')[:4]
video2 = DonghuaDoc.objects(classify='MMD·3D')[4:8]
video3 = DonghuaDoc.objects(classify='MMD·3D')[8:12]
# 跳過幾個,取的還是全部,就是把前面幾個跳過了,所以說還是先取。
[]裏面一開始我的參數分別是

[:4]

[4:4]

[8:4]

這個是報錯了,最後的[8:4]這裏報錯

後來又改了

[:4]

[4:4]

[8:]

結果是隻顯示了兩行

我開始是這樣想,skip:4,跳過4個;limit:4,從第5個開始取4個

最後才知道,正如註釋說的,skip的跳過和limit的範圍,先取,再對取的skip。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章