Próbuję wykonać kwerendę wyrażeń regularnych przy użyciu pymongo przeciwko serwerowi mongodb. Struktura dokumentu jest następująca:Wykonywanie zapytań regex z pymongo
{
"files": [
"File 1",
"File 2",
"File 3",
"File 4"
],
"rootFolder": "/Location/Of/Files"
}
Chcę uzyskać wszystkie pliki pasujące do wzorca * Plik. Próbowałem robić to jako taki
db.collectionName.find({'files':'/^File/'})
Jednak ja dostać nic z powrotem, mam czegoś brakuje, ponieważ zgodnie z docs MongoDB powinno to być możliwe. Jeśli wykonuję zapytanie w konsoli mongo, to działa dobrze, czy to oznacza, że api go nie obsługuje, czy też używam go niepoprawnie?
Właściwie to, co tu masz, to także [sposób, w jaki jest to zrobione w javascript] (http://docs.mongodb.org/manual/reference/operator/regex/) (i prawdopodobnie także w innych językach), jeśli używasz ' $ regex'. Odpowiedź @ Eric jest sposobem python, który jest trochę inny. – drevicko
jaka jest różnica? Obaj używają python pymongo, prawda? Jest to część zapytań mongodów, więc naprawdę nie widzę problemu. – Dexter
Ignorecase jest możliwe w wyrażeniu mongodb JScript także viz. db.collectionname.find ({'files': {'$ regex': '^ File', '$ options': 'i'}}) –