1.mongoengine 查询返回指定列(指定字段) scalar
from models import UserDayStat, UserDetails userdaystat = UserDayStat.objects(date="2020-06-30", day_age=0).scalar("uid") userdetail = UserDetails.objects(create_date="2020-06-30").scalar("id") l1 = set(userdetail) - set(userdaystat) print(l1)
2.mongoengine 常用方法 原文出处 http://www.php.cn/mysql-tutorials-133672.html
register_time__gte 大于等于 register_time__gt 大于 register_time__lt 小于 * ne – 不相等 * lt – 小于 * lte – 小于等于 * gt – 大于 * gte – 大于等于 * not – 取反 * in – 值在列表中 * nin – 值不在列表中 * mod – 取模 * all – 与列表的值相同 * size – 数组的大小 * exists – 字段的值存在
3.mongo随机取N条数据 $sample
pipeline = [ {'$match': {'date': {'$gte': "2019-12-20", '$lte': "2019-12-29"}}}, {'$project': {'_id': 0, 'device_id': 1}}, {'$sample': {'size': 100}} ] # device_id 列表 userdaystat = UserDayStat.objects().aggregate(*pipeline) for user in userdaystat: device_id_list.append(user.get("device_id"))