Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Django正确查询mongoDB?_Django_Mongodb_Django Nonrel - Fatal编程技术网

如何通过Django正确查询mongoDB?

如何通过Django正确查询mongoDB?,django,mongodb,django-nonrel,Django,Mongodb,Django Nonrel,目前,我正试图通过Django应用程序从数据库返回简单查询(目前是MongoDB,但我过去使用过MSSQL 2008) 我的问题是关于Django数据库的一般设置。例如,如果我在后端使用pymongo建立连接并返回我正在查找的集合,那么django Unrel和mongodb引擎到底在做什么?如果我返回查询的数据(例如在views.py中),并通过我的一个模板进行渲染,那么在settings.py中过度设置数据库是否有缺点 以下是我当前在views.py中返回查询数据的方式: from djan

目前,我正试图通过Django应用程序从数据库返回简单查询(目前是MongoDB,但我过去使用过MSSQL 2008)

我的问题是关于Django数据库的一般设置。例如,如果我在后端使用pymongo建立连接并返回我正在查找的集合,那么django Unrel和mongodb引擎到底在做什么?如果我返回查询的数据(例如在views.py中),并通过我的一个模板进行渲染,那么在settings.py中过度设置数据库是否有缺点

以下是我当前在views.py中返回查询数据的方式:

from django.shortcuts import render_to_response
from pymongo import MongoClient

def bar(request):
    client = MongoClient()
    db = client['myDB']
    collection = db.myCollection.find({"date":"2013-10-23"})
    return render_to_response("index.html", {"returnedData" : collections})

您的代码的缺点是,您需要支付设置MongoClient和在每次请求时建立到服务器的连接的费用。您应该只创建一个MongoClient,并在应用程序的整个生命周期中使用它。如果您测试示例代码的性能,并将其与创建单个MongoClient的性能进行一次比较,那么当您的应用程序启动时,我希望您会看到您的代码要慢几个数量级