我有一个名为listCityStateZip的词典列表。 listCityStateZip中的一个键叫做cityStateZip。我想看看哪个cityStateZip值存在于名为zipcodes的MongoDB集合中(字段:citystatezip)。如果找不到匹配项,那么我想在列表中将该记录标记为“N”。如果找到匹配项,我想在列表中将该记录标记为“Y”。我认为下面的代码将解决我的问题,但由于某种原因,只有listCityStateZip(列表)中的第一个记录最终得到一个标志。代码如下所示。两个问题:1)是否有更简单的方法使用python编写此代码,2)如果没有,为什么我只在列表的第一个记录中得到一个标志?
for a in listCityStateZip:
for b in db.zipcodes.find({'citystatezip': a['cityStateZip']},{'_id':1}):
c.append(b)
if len(c) == 0:
a['flag'] = 'N'
else:
a['flag'] = 'Y'
c=[]
答案 0 :(得分:0)
你可以尝试这个,更简单的方法
for a in listCityStateZip:
if db.zipcodes.find({'citystatezip': a['cityStateZip']}).count() > 0:
a['flag'] = 'Y'
else:
a['flag'] = 'N'