尝试查看列表中的值是否存在于特定字段的 mongoDB 集合中



我有一个名为listCityStateZip的字典列表。 listCityStateZip中的一个键称为cityStateZip。 我想看看在名为zipcodes(字段:citystatezip(的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=[]

你可以试试这个,更简单的方法

for a in listCityStateZip:
if db.zipcodes.find({'citystatezip': a['cityStateZip']}).count() > 0:
a['flag'] = 'Y'
else:
a['flag'] = 'N'

最新更新