试图在根s3存储桶中而不是在子文件夹中匹配文件
https://s3.amazonaws.com/assets.abc.net/ONE.jpg将是一个匹配项 和 https://s3.amazonaws.com/assets.abc.net/SOMEFOLDER/one.jpg将不匹配
在MongoShell中,如果我运行此查询,我会得到结果
db.myCollection.find({
"attachments.url" : /https:\/\/s3.amazonaws.com\/assets.abc.net\/[^\/]+\.[A-z]+/
})
现在在pyMongo中,我正在尝试复制同一件事,但得到零结果
这是我的代码
regex = re.compile(r"https://s3.amazonaws.com/assets.abc.net/[^/]+\.[A-z]+", re.IGNORECASE)
# AlTERNATE ALSO TRIED
# regex = re.compile(r"https:\/\/s3.amazonaws.com\/assets.abc.net\/[^\/]+\.[A-z]+", re.IGNORECASE)
cursor = db.listings.find({ "attachments.url" : regex })
有人可以帮忙吗? Python版本是2.7
答案 0 :(得分:0)
这才是有效的
regex = re.compile(r"https:\/\/s3.amazonaws.com\/assets.abc.net\/[^\/]+\.[A-z]+", re.IGNORECASE)
cursor = db.listings.find({ "attachments.url" : { $regex : regex} })
答案 1 :(得分:0)
regex = re.compile(re.escape(r"https://s3.amazonaws.com/assets.abc.net/[^/]+\.[A-z]+"), re.IGNORECASE)
cursor = db.listings.find({ "attachments.url" : regex })
尝试通过re.escape()来转义模式