python 使用find() OR find_one()查询MongoDB的结果进行为空判断

背景:最近做的一个脚本是在查询MongoDB数据库对结果做一个是否为空的兼容处理,如果查询结果为空则提示:结果为空,否则则继续进行数据处理

两种MongoDB的查询方法,find()和find_one(),这两个方法的区别:

find_one()

匹配第一条满足条件的结果,这条结果以dict字典形式返回,若没有查询到,则返回None,所以可以通过collection_data is None 进行数据判定

find()

返回满足条件的所有结果,返回类型为cursor ,每个结果类型为dict字典,如果需要获取每个集合中固定的字段的值,可以使用for循环遍历,然后通过字典的取值方式获取每条集合中固定字段的值,如果我们需要判断结果是否为空,可以对通过find查询出来的个数进行判断,如果count等于0 ,则查询结果为空

data = faceDetectProjectConfig.find({"projectName": nrow_name_value})
if data.count() == 0:
    print("该条记录的项目不存在!!!!!")

总结:find()出来的是⼀个数组对象 findOne()出来的是查到的第⼀个对象

接下来继续解释一哈对象的概念:

对象(Objects)是python中数据的抽象,python中所有的数据均可以用对象或者是对象之间的关系来表示。每个对象均有标识符、类型、值

其中对象又分可变对象和不可变对象。所谓可变对象指的是,对象的内容可变,而不可变对象是指对象的内容不可变

不可变(immutable)对象:int、字符串(string)、float、数值型(number)、元组(tuple)

可变(mutable)对象:字典型(dictionary)、列表型(list)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值