如果在MongoDB数据库上无法发现模式的问题,可以尝试以下解决方法:
import pymongo
# 定义数据库连接信息
host = 'localhost'
port = 27017
username = 'your_username'
password = 'your_password'
# 连接数据库
client = pymongo.MongoClient(host, port)
db = client['your_database_name']
db.authenticate(username, password) # 如果有用户名和密码,则需要进行身份验证
# 检查集合是否存在
if 'your_collection_name' in db.list_collection_names():
# 集合存在,继续操作
else:
print('Collection does not exist')
# 检查文档是否存在
collection = db['your_collection_name']
if collection.find_one({'your_field_name': 'your_field_value'}):
# 文档存在,继续操作
else:
print('Document does not exist')
from pymongo import schema
# 定义模式
your_schema = schema.Schema({
'your_field_name': str,
'your_other_field_name': int,
# 其他字段定义...
})
# 验证文档是否符合模式
document = collection.find_one({'your_field_name': 'your_field_value'})
try:
your_schema.validate(document)
# 文档符合模式
except schema.ValidationError as e:
print(f'Document does not match schema: {e}')
通过检查数据库连接、集合和文档的存在以及模式定义,您应该能够解决在MongoDB数据库上无法发现模式的问题。