gpt4 book ai didi

django - 直接在django中使用pymongo

转载 作者:行者123 更新时间:2023-12-01 22:19:30 26 4
gpt4 key购买 nike

我正在使用 Django 和 MongoDB 构建一个网站。我们可以使用 2 个流行的 API 框架来连接 DjangoMongoDB ,一个是mongoengine另一个是django-mongodb-engine .

因为最新mongoengine不再支持 Django Document , 和 django-mongodb-engine需要另一个 django-nonrel使开发环境有点复杂的包。

我想知道是否可以使用 Pymongo连接 DjangoMongoDB直接地。

有没有同样经历的可以分享一下?以及如何在 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)

关于django - 直接在django中使用pymongo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31552914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com