无法通过类变量连接到MongoDB数据库和集合

skiman01

就像前言一样,我知道可以轻松地完成大部分工作,下面的问题是为了学习如何构建类并在该类中实例化数据库连接。

我正在建立一个类,现在只需要两个变量即可;MongoDB数据库的名称,以及该数据库的集合名称。我试图在此类的init函数中实例化此数据库和集合的连接我遇到的问题是init函数正在连接到变量实际名称的数据库,而不是变量的实际赋值。更具体地说,如果我实例化

>>>salesChar = MongoDumps("sales","char")

然后我打电话

>>>salesChar.db.name

而是连接到“ dBase”(变量的名称)数据库,而不是“ salesChar”(dBase变量的分配)数据库。请查看下面的代码,

import pymongo
from pymongo import MongoClient

class MongoDumps():
"""Data Dumping into MongoDB"""

    def __init__(self, dBase, dumpCollection):
        self.dBase = dBase
        self.dumpCollection = dumpCollection
        client = MongoClient()
        self.db = client.dBase
        self.collection = self.db.dumpCollection

我尝试了多种策略的组合,但似乎没有一种在每个策略中都有相似的结果。在课堂上使用作业有某些限制吗?谢谢你的帮助!

谢尔盖·别列佐夫斯基(Sergey Berezovskiy)

用于getattr通过字符串获取属性。正如文档所述,getattr(x, 'foobar')等同于x.foobar您的代码应如下所示:

class MongoDumps():
    def __init__(self, dBase, dumpCollection):
        self.dBase = dBase
        self.dumpCollection = dumpCollection
        client = MongoClient()
        self.db = getattr(client, dBase)
        self.collection = getattr(self.db, dumpCollection)

然后,您可以使用此类通过名称获取集合:

salesChar = MongoDumps("sales", "char")
first = salesChar.collection.find_one()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法通过类变量连接到MongoDB数据库和集合

来自分类Dev

无法通过Excel VBA连接到SQL数据库

来自分类Dev

无法通过Docker连接到SQL Server数据库

来自分类Dev

无法通过JWS应用连接到MySQL数据库

来自分类Dev

mongoDB,猫鼬,无法连接到数据库

来自分类Dev

无法从heroku连接到Mongodb数据库

来自分类Dev

无法通过php代码连接到mysql数据库,PHP致命错误:在中找不到类“ MySQLi”

来自分类Dev

JDBC无法从单独的类连接到我的数据库。类DB创建连接

来自分类Dev

pyodbc无法连接到数据库

来自分类Dev

无法连接到redshift数据库

来自分类Dev

无法连接到数据库[默认]

来自分类Dev

无法连接到数据库

来自分类Dev

无法连接到数据库-MySQL

来自分类Dev

Telosys无法连接到数据库

来自分类Dev

无法连接到本地数据库

来自分类Dev

无法远程连接到数据库

来自分类Dev

我无法连接到数据库

来自分类Dev

无法连接到数据库?

来自分类Dev

MythTV无法连接到数据库

来自分类Dev

无法连接到数据库-MySQL

来自分类Dev

无法连接到 PostgreSQL 数据库

来自分类Dev

Java无法连接到数据库

来自分类Dev

删除MongoDB数据库和集合

来自分类Dev

通过 MongoDB Compass 连接到我磁盘上的 Mongo 数据库

来自分类Dev

无法通过RDS代理连接到RDS PostgreSQL数据库实例

来自分类Dev

无法通过Gino连接到SQLite数据库(异步sqlalchemy包装器)

来自分类Dev

无法通过命令行连接到本地主机MySQL数据库?

来自分类Dev

为什么我无法通过Internet连接到我的数据库

来自分类Dev

我无法通过SSH连接到我的数据库