我正在使用 Django 和 MongoDB 构建一个网站。我们可以使用 2 个流行的 API 框架来连接Django
and MongoDB
, 一个是mongoengine
另一个是django-mongodb-engine
.
因为最新的mongoengine
不再支持 DjangoDocument, and django-mongodb-engine
需要另一个django-nonrel
这使得开发环境有点复杂。
我想知道我是否可以使用Pymongo
连接Django
and MongoDB
直接地。
有没有相同经历的人可以分享一下吗?以及如何设置数据库setting.py
在 Django 中使数据库公开?
你可以使用pyMongo
就像下面的代码
from pymongo import MongoClient
class MongoConnection(object):
def __init__(self):
client = MongoClient('localhost', 27017)
self.db = client['database_name']
def get_collection(self, name):
self.collection = self.db[name]
我们根据需要创建连接。
class MyCollection(MongoConnection):
def __init__(self):
super(MyCollection, self).__init__()
self.get_collection('collection_name')
def update_and_save(self, obj):
if self.collection.find({'id': obj.id}).count():
self.collection.update({ "id": obj.id},{'id':123,'name':'test'})
else:
self.collection.insert_one({'id':123,'name':'test'})
def remove(self, obj):
if self.collection.find({'id': obj.id}).count():
self.collection.delete_one({ "id": obj.id})
现在你只需要像下面这样打电话。
my_col_obj = MyCollection()
obj = Mymodel.objects.first()
my_col_obj.update_and_save(obj)
my_col_obj.remove(obj)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)