Найти Pymongo, используя $ в списке - PullRequest
1 голос
/ 05 июня 2019

Следующее выражение работает нормально, возвращая значения, соответствующие списку значений:

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

Но у меня есть список значений в объекте списка, например:

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

Но используя объект списка, a не получит результатов:

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

Я также пытался развернуть список в форматированную строку, например:

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

, но также без результатов.

Примечание. Если вы заставите список иметь только одно значение, это сработает.Только при наличии нескольких значений результат будет пустым.

Есть какие-нибудь идеи о том, как использовать "$ in" в pymongo со списком значений в объекте списка?

1 Ответ

1 голос
/ 05 июня 2019

Я считаю, что ваша проблема в том, что у вас есть список внутри списка.

Вместо:

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

Попробуйте:

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

...