Pymongo使用$在列表中查找

时间:2019-06-05 18:54:14

标签: python python-3.x mongodb pymongo pymongo-3.x

以下表达式可以正常工作,返回与值列表匹配的值:

[...].find({"FieldName":{"$in":["Value1", "Value2", "Value3"]}})

但是我在列表对象中有值列表,像这样:

valuesList = list()
valuesList.append("Value1")
valuesList.append("Value2")
valuesList.append("Value3")

但是使用列表对象,没有结果:

[...].find({"FieldName":{"$in":[valuesList]}})

我还尝试过将列表扩展为格式字符串,例如:

strList = ', '.join(valuesList)
[...].find({"FieldName":{"$in":[strList]}})

但也没有结果。

注意:如果我强制列表只有一个值,则它可以工作。仅当提供多个值时,结果为空白。

关于如何在pymongo中将“ $ in”用于列表对象中的值列表的任何想法?

1 个答案:

答案 0 :(得分:1)

我相信您的问题是列表中有一个列表。

代替:

[...].find({"FieldName":{"$in":[valuesList]}})

尝试:

[...].find({"FieldName":{"$in":valuesList}})