我是与mongo交互的新手,我正在尝试使用in
属性创建一个函数:
def find_inthe(key,*values):
rdo=col.find({key:{'$in':list(values)}})
for a in rdo:
return a
print(find_inthe('hair_colour','white','brown','black'))
然而,我发现的问题是它只返回values
中的第一个和find_one
。
如果我在功能之外尝试相同的操作:
rdo=col.find({'hair_colour':{'$in':['white','brown','black']}})
for a in rdo:
print(a)
它将返回该集合的所有字典。
我想要的输出是该函数返回所有带有所选颜色毛发的字典
答案 0 :(得分:2)
$in
在这里没有错。这是循环中的return a
。你为什么不归还整件事?
def find_inthe(key,*values):
rdo = col.find({key:{'$in':list(values)}})
return list(rdo)