【问题标题】:Flask-MongoKit find_one()Flask-MongoKit find_one()
【发布时间】:2014-01-21 21:27:34
【问题描述】:

我正在尝试按如下方式使用 Flask-MongoKit(两次尝试 find_one 均失败):

app = Flask('app-name')

db = MongoKit(app)

db.register([database.Users])

with app.app_context():
    print db['users'].find_one()
    print db.Users.find_one()

当我使用普通的 MongoKit(非 Flask 版本)时,它起作用了(如下)

db = Connection()

db.register([database.Users])
print db.Users.find_one()

谢谢!

编辑:

数据库和集合定义如下。

class Users(Document):
    __collection__ = 'users'
    __database__ = 'database'

【问题讨论】:

  • “失败”是什么意思?你有错误吗?可以分享一下回溯吗?
  • 第一个例子返回 none,第二个例子返回实际结果。
  • 您确定要连接到同一个数据库吗? database 来自哪里?这是您要在某处导入的模块吗?
  • 是的,它是在类中定义的。见编辑。

标签: mongodb flask mongokit


【解决方案1】:

Flask-MongoKit 不使用 MongoKit 的 __database__ 值。相反,它使用名为MONGODB_DATABASE 的应用程序配置设置。如果未设置,则默认为名为 flask 的数据库。如果您将代码更改为

app = Flask('app-name')
app.config['MONGODB_DATABASE'] = 'database'
db = MongoKit(app)

您对find_one() 的调用应该可以工作。

相关位可以在herehere找到。

【讨论】:

    猜你喜欢
    • 2015-05-25
    • 2014-12-24
    • 2023-03-09
    • 2013-05-30
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    相关资源
    最近更新 更多