python判断数据mongodb_正在检查MongoDB中是否存在记录

我正在构建一个MongoDB数据库,问题是我想避免重复的条目。目前我正在执行此操作(仅在检查条目是否不存在后才插入文档):from pymongo import Connection

import pandas as pd

from time import strftime

from collections import OrderedDict

connection = Connection()

db = connection.mydb

collection = db.mycollection

data = pd.read_csv("data/myfile.csv", parse_dates=[2,5])

for i in range(len(data)):

if(collection.find({ "id": data.ix[0], \

"date1": data.ix[i, 2].strftime("%Y-%m-%d"), \

"date2": data.ix[i, 5].strftime("%Y-%m-%d"), \

"number": int(data.ix[i, 6]), \

"type": data.ix[i, 7]}).count() == 0):

collection.insert(here goes what I'd like to insert)

这确实很好,但这已经存在严重的性能问题(只有大约100Mb的数据),因为每次执行find()操作似乎会显著降低速度。在

有没有办法加快速度?也许我根本就错了?

我只需要避免在某些字段上重复,而不是所有字段(也就是说,还有“number2”,它可以不同,但如果所有其他字段都匹配,我仍然希望它是重复的)。在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值