python对多个表格多个字段模糊查询
前言,聊聊需求
平时如果是明确只能针对某个collection某个字段模糊查询,这个是很简单的,同时为了确保高性能,还可以创建索引。但是我想要对table下任一collection所有字段模糊查询,这个如果针对每个collection每个字段逐一写过去会超级麻烦(而且后续会不断进行collection的增删或者document的增删改)。追求简洁通用的我又双叒叕来搞事情了(其实就是懒癌发作,不想针对慢慢写,而且写了其他地方很难直接复用)
首先,获取table下的所有表格
这个比较简单,直接上代码
def get_all_collections():
client = pm.MongoClient(host,port)
db = client['xxx_table']
cls = db.list_collection_names()
return cls
然后,获取collection的所有字段
如果collection下每个document的字段都一样那直接取一个获取keys就完事了,但是实际中经常遇到不同document