我有大约300,000个文档的集合,我需要进行大约150,000个查询。我有矩阵A_B(150,000行,A列,B列),我需要查询每一行中的B条目,找到与此条目关联的文档及其值,' C_id。'然后我跟踪matric A_C中的所有A值和相关的C值(150,000行,A列,C列)。 目前,这需要一个多小时才能运行,这看起来非常缓慢。有什么想法,为什么它这么慢?每次,光标都应该返回一个文档。
client = pymongo.MongoClient()
db = client.dataBases
collection = db.collection
A_B = np.loadtxt('A_B.txt')
A_C = np.zeros(A_B.shape)
for r in range(0, A_B.shape[0]):
A = A_B[r, 0]
B_r = A_B[r, 1]
C = 0
cursor = collection.find({'C_id': B_r})
for i in cursor:
C = i['n_id']
A_C[r, :] = np.asarray([A, C])
np.savetxt('A_C.txt', A_C.txt)