python - 检查 pymongo 中是否存在文档
问题描述
我正在尝试查看数据库中是否已存在文档这是我的初始代码:
myclient = pymongo.MongoClient("server link")
mydb = myclient["snkr"]
dblist = myclient.list_database_names()
collist = mydb.list_collection_names()
mycol = mydb["auth_servers"]
所以它需要一个名为 snkr 的数据库和一个名为 auth_servers 的集合,现在为了检查文档是否已经存在,我使用以下代码:
server_name = ctx.guild
server_id = ctx.guild.id
if mycol.count_documents({ 'ServerName':str(server_name), 'ServerID': str(server_id) }, limit = 1):
await ctx.send(f"This server is already authorized")
else:
#code that inserts the value into the DB in case there isn't already one
我尝试了不同的方法:
if mydb.mycol.count_documents({ 'ServerName':str(server_name), 'ServerID': str(server_id) }, limit = 1):
if mydb.count_documents({ 'ServerName':str(server_name), 'ServerID': str(server_id) }, limit = 1):
if mydb.auth_servers.count_documents({ 'ServerName':str(server_name), 'ServerID': str(server_id) }, limit = 1):
if mydb["auth_servers"].count_documents({ 'ServerName':str(server_name), 'ServerID': str(server_id) }, limit = 1):
但它们都不起作用
解决方案
解决了:
check = mycol.find({},{'ServerID':"724523958296117328"}).count()
print(check)
if check >= 1:
await ctx.send(f"This server is already authorized")
推荐阅读
- python - 用于表选择的 Django force_str 返回原始值
- php - 将项目从 Laravel 5.8 更新到 6 或 7
- python - 迁移在 django 中意味着什么?
- xml - 带有图像背景的按钮的 Android 布局 XML
- firefox - userAgent 切换器扩展中的 Object.defineProperty
- python - Python - Matplotlib - 轴标签
- javascript - 加载时的jquery窗口未执行
- javascript - Vuex获取循环ID到axios
- sql-server - 如何超链接 Azure Data Studio 中的值?
- java - 子窗口出现在主窗口的背景中?