【自己已解决】为什么mongodb操作4万条数据跟20万条数据的query的数据不一样?
发布于 6 年前 作者 Centosgoole 1700 次浏览 来自 问答

请问一下为什么mongodb操作4万条数据跟20万条数据的query的数据不一样? TIM图片20180718111342.png 这种问题要怎么去解决?同样的代码,不同的数据量,第一个图是4万的数据,query就很快,但是到了20万数据的时候,query的数据就只有0-2之间

4 回复

逻辑是:从表1里面读取数据——获取URL——解析URL获得数据以后——存入到表2

import requests,json,pymongo from requests.packages import urllib3 def url_list(): url_list =[] conn = pymongo.MongoClient(“mongodb://127.0.0.1:27017”) db = conn.ceshi url_data = db.avito_url for url in url_data.find(): url_list.append(url[“url”]) return url_list db.close()

def run(): conn = pymongo.MongoClient(“mongodb://127.0.0.1:27017/”) db = conn.avito data = db.avito_phonedata for i in range(len(url_list())): urllib3.disable_warnings() res = requests.get(url_list()[i],verify = False,timeout = 10).text name = json.loads(res)[‘seller’][‘name’] phone = json.loads(res)[‘contacts’][‘list’][0][‘value’][‘uri’].split("=")[1] title = json.loads(res)[‘title’] if phone.replace("%2B",""): phone = phone.replace("%2B","") else: pass locations = str(json.loads(res)[‘refs’][‘locations’]).replace("}","").split(":")[2].replace("’","").split(",")[0].replace(" “,”") save_data = { ‘title’:title, ‘name’:name, ‘phone’:phone, ‘locations’:locations, ‘url’:url_list()[i] } data.insert_one(save_data) print(“存入第”+str(i)+“条数据”+"\n") if name == “main”: list_num = len(url_list()) print(“查询数据完毕”,list_num,“条数据”) run()

问题已经解决,不是索引问题,是代码的问题,代码内部重复调用了,增加时间

回到顶部