繁体   English   中英

MongoDB 和 Pymongo,在所有 collections 中查询 FULLTEXT

[英]MongoDB and Pymongo, query FULLTEXT in all collections

我有一个本地 MongoDB 数据库,其中包含多个 collections。 我在 jupyter notebook 中使用 pymongo,我想做的是运行查询FULLTEXT来查找所有 collections上的数据。 是否有可能做到这一点? 如果是这样,我该如何继续?

from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
client.list_database_names()
out: ['admin', 'config', 'local']

在本地,我有更多收藏:这就是我只用一个收藏所做的事情

db = client["local"]
firstdb = db["firstdb"]

result = db.firstdb.find({"email": {"$regex":"test","$options": 'i'}})
for item in result:
    print(item['email'],item['log'])

本质上,我还想在secondbthirdbFourthdb等上执行email 查询等。

没有人可以帮助我吗? 基本上我必须对所有 collections进行FULLTEXT查询。

我找到的唯一解决方案是:

result = db.firstdb.find({"email": {"$regex":"test","$options": 'i'}})
result1 = db.secondb.find({"email": {"$regex":"test","$options": 'i'}})
result2 = db.thirdb.find({"email": {"$regex":"test","$options": 'i'}})



for item in result:
    print(item['email'],item['log'])
for item in result1:
    print(item['email'],item['date'])
for item in result2:
    print(item['email'],item['account'])

但我不确定我是否走在正确的轨道上!

我感谢任何可以帮助我的人!

PS:我不想改变collections的结构,问题可能出现在其他数据库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM