这是我的代码
from telegram.ext import Updater, CommandHandler
import os
from pymongo import MongoClient
TOKEN = 'TOKEN'
def get_db(update, context):
cluster = MongoClient("mongodb+srv://testing:12345678@cluster0.gs9k5.mongodb.net/test?retryWrites=true&w=majority")
result = list(cluster.get_database('DBNAME')['COLLECTIONNAME'].find({}))
update.message.reply_text(str(result))
def main():
updater = Updater(TOKEN, use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("getdb", get_db))
updater.start_webhook(listen="#.#.#.#",
port=int(PORT),
url_path=TOKEN)
updater.bot.setWebhook('https://MYHEROKUAPP.herokuapp.com/' + TOKEN)
updater.idle()
if __name__ == '__main__':
main()
每次我键入/getdb
时,机器人都不会给我任何回应。当我尝试几次实验时,似乎集群变量上有一些错误。我使用了tryexcept语法,但是该bot甚至没有显示任何东西,甚至我也找不到错误名称。我正在将heroku服务器用于电报机器人。该如何解决?
答案 0 :(得分:0)
您可以连接到默认数据库(在连接字符串中定义的数据库),并查询这样的集合
client = MongoClient('connect-string')
db = client.get_default_database()
# 'collection_name' is the name of the Mongo collection
list = db.collection_name.find()