插入函数内部

时间:2017-07-25 21:14:11

标签: mongodb pymongo

我是与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)

它将返回该集合的所有字典。

我想要的输出是该函数返回所有带有所选颜色毛发的字典

1 个答案:

答案 0 :(得分:2)

$in在这里没有错。这是循环中的return a。你为什么不归还整件事?

def find_inthe(key,*values):
    rdo = col.find({key:{'$in':list(values)}})
    return list(rdo)