标签: mongokit

烧瓶和蒙古

考虑到完全建立在MongoDB之上的Web服务,虽然我对PyMongo很有帮助,但我想知道你们是否对这些ODM中的任何一个有任何积极或消极的经历/故事:MongoKit,MongoEngine和MongoAlchemy,后者有一个Flask特定包装"Flask-mongoalchemy".

mongodb mongoengine flask mongokit

17
推荐指数
2
解决办法
8702
查看次数

Django-nonrel vs Django-mongodb vs Mongokit vs pymongo native

在一个需要NoSQL商店的Django项目上工作,我相信我已经选择了Mongo.我看过很多关于Mongo和Django的话题,但是没有人提到Django-nonrel,我不明白为什么它可能被取消资格,但我没有任何经验.

理想情况下,我想为简单的东西,用户身份验证,组等保留SQL存储,并使用Mongo来获取更大的数据.

我也希望将我的Mongo存储对象作为类,采用Django-ORM风格,这样我就可以有类似的"感觉",但这并不重要.

最后,上面的任何一个允许我使用Django的多数据库支持任何东西,或者我的mongo查询是否有效地从Django ORM"带外"?

如果还有其他因素我错过了可能很重要的事情,请随时提醒我.我对这个领域知之甚少.

django mongodb pymongo django-nonrel mongokit

8
推荐指数
1
解决办法
3461
查看次数

MongoKit"ImportError:没有名为objectid的模块"错误

我使用MongoKit得到一些非常奇怪的错误:

>>> from mongokit import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/mongokit/__init__.py", line 35, in <module>
    from document import Document, ObjectId
  File "/usr/local/lib/python2.7/dist-packages/mongokit/document.py", line 48, in <module>
    from pymongo.objectid import ObjectId
ImportError: No module named objectid
Run Code Online (Sandbox Code Playgroud)

我尽力找到原因,但没有任何帮助.实际上我用google搜索"ImportError:没有名为objectid的模块"错误,它根本没有结果.我试着按照简单的教程http://namlook.github.com/mongokit/introduction.html#a-quick-example使用MongoKit,本教程的第一行产生了这个奇怪的错误.以下是MongoKit安装的日志.

我做错了什么?

user@server:~$ sudo pip install mongokit
Downloading/unpacking mongokit
  Downloading mongokit-0.7.2.tar.gz (69Kb): 69Kb downloaded
  Running setup.py egg_info for package mongokit

Downloading/unpacking pymongo>=2.0.1 (from mongokit)
  Downloading pymongo-2.2.tar.gz (228Kb): 228Kb downloaded
  Running setup.py egg_info for package pymongo …
Run Code Online (Sandbox Code Playgroud)

python pymongo flask python-2.7 mongokit

7
推荐指数
2
解决办法
7604
查看次数

使用WTForms的populate_obj()方法与Flask微框架

我有一个模板,允许用户编辑他们的用户信息.

<form method="post">
    <table>
        <tr>
            <td>Username:</td>
            <td>{{user['username']}}</td>
        </tr>
        <tr>
            <td>New Password:</td>
            <td> <input type="password" name="password"></td>
            <td>{% if form.password.errors %} {{form.password.errors}} {% endif %}<td>
        </tr>
        <tr>
            <td>Re-enter Password:</td>
            <td> <input type="password" name="confirm_password">
            </td>
        </tr>
        <input type='hidden' name='username' value="{{user['username']}}">
        <tr>
            <td><input type="submit" value="Submit"></td>
        </tr>
    </table>
</form>
Run Code Online (Sandbox Code Playgroud)

我还有一个用于处理用户编辑的视图功能.我目前使用的数据库是带有MongoKit模块的MongoDB.到目前为止,我只能在视图功能中做到这一点,但没有运气.

def edit():
    username = request.args.get('user')
    user = User.find_one({'username':username}) # Is this a correct way of doing it?
    form = UserForm(**what should be placed here?**, obj=user)

    if request.method == 'POST' and form.validate(): …
Run Code Online (Sandbox Code Playgroud)

python flask mongokit wtforms

7
推荐指数
2
解决办法
1万
查看次数

如何在MongoKit中关闭光标

我正在使用MongoKit对大量数据进行迭代.

在此过程中,我的光标变为无效,我正在获取

OperationFailure: cursor id '369397057360964334' not valid at server

我已经在邮件列表中读到了我可以将参数传递timeout=False.find()方法,但PyMongo常见问题解答说我自己负责关闭游标.

但我没有在MongoKit中找到方法.

我需要手动关闭光标,如果是 - 我该怎么办?

python cursor mongodb pymongo mongokit

6
推荐指数
1
解决办法
1126
查看次数

如何使用MongoKit对远程数据库主机进行身份验证?

我正在尝试使用Flask中的MongoKit连接并验证远程数据库主机(dotcloud,mongolabs等).连接到服务器似乎工作正常.但是我无法对数据库进行身份验证.据推测这应该工作:

from mongokit import Connection
connection = Connection(my_remote_host, my_remote_port)
connection.my_database.authenticate(my_admin_user, my_admin_password)
Run Code Online (Sandbox Code Playgroud)

对authenticate()的调用返回True,但后续调用获取数据抛出:

OperationFailure: database error: unauthorized db
Run Code Online (Sandbox Code Playgroud)

有人知道这里会发生什么吗?

python mongodb pymongo flask mongokit

5
推荐指数
1
解决办法
1696
查看次数

无法从 docker 连接到 mongodb 实例:连接被拒绝

我正在使用 docker-compose 创建一个多容器环境,其中我有一个 mongodb 实例和两个 python 应用程序。问题是,第一个应用程序能够建立到 mongodb 的连接,而第二个应用程序失败并出现以下错误:

File "/usr/local/lib/python2.7/site-packages/pymongo/mongo_client.py", 
            line 377, in __init__ notification_1   | 
            raise ConnectionFailure(str(e)) notification_1   | 
            pymongo.errors.ConnectionFailure: [Errno -2] Name or service not known
Run Code Online (Sandbox Code Playgroud)

我的项目结构:

.
??? docker-compose.yml
??? form
?   ??? app.py
?   ??? Dockerfile
?   ??? requirements.txt
?   ??? static
?   ??? templates
?       ??? form_action.html
?       ??? form_sumbit.html
??? notify
?   ??? app.py
?   ??? Dockerfile
?   ??? requirements.txt
??? README
Run Code Online (Sandbox Code Playgroud)

这是我的[更新] docker-compose.yml 文件:

version: '3'

services:
  db:
    image: mongo:3.0.2
    container_name: …
Run Code Online (Sandbox Code Playgroud)

mongodb pymongo mongokit docker docker-compose

2
推荐指数
1
解决办法
3684
查看次数