mongoengine的数量获取

    xiaoxiao2021-03-25  150

    在获取数据库数据的过程中,能根据需要而指定的获取到数量,可以提高效率,节省时间。

    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。

    转载请注明原文地址: https://ju.6miu.com/read-4326.html

    最新回复(0)