pymongo

https://segmentfault.com/a/1190000019167801 常用操作

https://www.cnblogs.com/zhuawang/p/3965272.html 常用操作

https://www.imooc.com/wenda/detail/587590 sum操作

https://www.runoob.com/mongodb/mongodb-aggregate.html   手册

https://www.cnblogs.com/bigben0123/p/9753327.html 数组内操作

操作符
$lt         小于
$lte        小于等于
$gt         大于
$gte        大于等于
$ne         不等于
$in         in  检查目标属性值是条件表达式中的一员
$nin        not in
$set        set(用于 update 语句)
$unset      与 $set 相反,表示移除文档属性。
$inc        += (用于 update 语句)
$exists     exists (判断是否存在,仅有 True 和 False 两个值)
$all        属性值包含全部条件元素,注意和 $in 的区别
$size       匹配数组属性元素的数量
$type       判断属性类型
$regex      正则表达式查询
$elemMatch  子属性里的查询
$push       向数组属性添加元素
$pushAll    向数组属性添加元素
$addToSet   和 $push 类似,不过仅在该元素不存在时才添加 (Set 表示不重复元素集合)
$each       添加多个元素用
$pop        移除数组属性的元素(按数组下标移除)
$pull       按值移除
$pullAll    移除所有符合提交的元素
$where      用 JS 代码来代替有些丑陋的 $lt、$gt

 

import datetime
start = datetime.datetime(2020,10,1,0,0,0)
rbd = clientc.find({“app_id”:”XiaoShouLeiHeTong”,’status’:{‘$in’:[‘start’,’finish’]},’XiaoShouLeiHeTongPin_slave_YiShouKuan’:{‘$elemMatch’:{“ShouKuanShiJian”:{‘$gte’:start}}}},{“_id”:0,”instance_id”:1,’XiaoShouLeiHeTongPin_FaQiShiJian’:1})
r = list(rbd)
len(r)

import datetime
start = datetime.datetime(2020,10,1,0,0,0)
rbd = clientc.aggregate([{“$unwind”:”$XiaoShouLeiHeTongPin_slave_YiShouKuan”},
{‘$match’:{“XiaoShouLeiHeTongPin_slave_YiShouKuan.ShouKuanShiJian”:{‘$gte’:start},”app_id”:”XiaoShouLeiHeTong”,’status’:{‘$in’:[‘start’,’finish’]}}},
{“$project”:{“_id”:0,”instance_id”:1}}])
r = list(rbd)
len(r)

Leave a Reply

Your email address will not be published. Required fields are marked *