pymongo使用指南

项目的一期已经完成并且投入使用了,目前参与的项目的二期,补课pymongo:

db模块结构

4.5遇到的数据读取很慢的问题,测试之后发现是在计算数据条总量的时候,使用了:

result=faQuery('b_record',{})

这里就把整个FA数据库中的数据都取了出来,再计算b_record的条数,所以会慢。

collection = faCollection('bank_record')

num = collection.find().count()

self.pageFrame.setTotalRecord(num)

更改过后,只取出b_record这个集合的数据计算条数,速度就比较快。

这里补一些pymongo的基本语句知识

#连接mangodb

mongoClient = MongoClient(getDburl(), getDbport(),username=getDbusername(),password=getDbpassword(),authSource="admin")

#查询 

collection = getMongoClient()["fa"][cname] 

data = []

for c in collection.find(obj):

       data.append(c)

result.data = data

#插入

collection = getMongoClient()["fa"][cname]

collection.insert(obj)

#删除数据集合

collection = getMongoClient()["fa"][cname]

collection.remove(obj)

#数据集合中按照caseName查找

collection = getMongoClient()["case_"+getCaseName()]["b_record"]

data = []

for c in collection.find(obj):

      data.append(c)

result.data = data

#mongodb的distinct方法:获取集合中指定字段的不重复值,并以数组的形式返回

collection = getMongoClient()["case_"+getCurrentTask()["caseName"]]["bank_record"]

data = []

num =0

for c in collection.distinct(key):

     if limit != -1 and num >= limit:

          break

    data.append(c)

     num +=1

result.data = data

#获取集合名称

result.data = client[dbname].collection_names()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,505评论 0 13
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,725评论 0 3
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,416评论 0 4
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 999评论 0 1
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 775评论 0 2