zoukankan      html  css  js  c++  java
  • pymongo cursor 非空判断 , 查询结果数量

    今天处理游标非空判断,一直报错:

    问题: DeprecationWarning: count is deprecated. Use Collection.count_documents instead

    1.如果仅仅只需要数量:

    当我使用pymongo查询出对应的cursor(find出的document的迭代器),然后查看查询出数据的数量时使用如下代码:

    db = MongoClient(host='192.168.18.129', port=27017)
    coll = db.dbname.collectionname
    cursor = coll.find({'name': 'zhangsan'}).limit(10)
    print(cursor.count()

    弹出警报DeprecationWarning: count is deprecated. Use Collection.count_documents instead. print(cursor.count())

    原因
    这是由于mongodb现在迭代器数据的搜集Collection.count()方式已经被弃用,更高的版本不适用。已经使用Collection.count_documents来统计了。

    正确的使用方法是这样的: 但是这不是我要的,如果仅仅想知道数量,可以

    num = coll.count_documents({'name': 'zhangsan'})
    print(num)  

    2.查询结果,在遍历游标前,先判断数量

    先强转为list, 再把list指向之前的变量
            user_cursor = coll.find({'name': 'zhangsan'}).limit(1000)
            user_list = list(user_cursor)
           #非空判断if len(user_list) == 0:
                print("can't get  user info ")
                flag = False
    else:
    for user in user_list:
    print(user)

     

  • 相关阅读:
    第三章:Hadoop简介及配置Hadoop-1.2.1,hbase-0.94.13集群
    maven环境的搭建,lemon-OA办公系统的搭建
    如何打开mo文件并修改 PoEdit
    安装Elastix-2.4版本
    RabbitMQ安装
    Yum编译安装Error Downloading Packages报错
    linux:ping不通www.baidu.com
    tar命令解压缩出错
    PV、UV
    使用存储过程创建数据
  • 原文地址:https://www.cnblogs.com/lshan/p/15129764.html
Copyright © 2011-2022 走看看