首页 > 解决方案 > 如何使用 pymongo 在 mongodb 中自动删除集合?(Django 不会删除 mongodb 集合)

问题描述

我有 Django 应用程序,它自动在 MongoDB 中创建集合。但是当我尝试集成删除功能时,使用删除功能创建的集合不会被删除。自动创建的集合被成功编辑。此方法在另一个文件中调用,带有所有参数。

需要注意的一件有趣的事情是,当我手动尝试通过 python shell 删除时,它起作用了。我不会删除不再需要的集合。

import pymongo
from .databaseconnection import retrndb #credentials from another file all admin rights are given

mydb = retrndb()
class Delete():
    def DeleteData(postid,name):
        PostID = postid
        tbl = name + 'Database'
        liketbl = PostID + 'Likes'
        likecol = mydb[liketbl]
        pcol = mydb[tbl]
        col = mydb['fpost']
        post = {"post_id":PostID}
        ppost = {"PostID":PostID}
        result1 = mydb.commentcol.drop() #this doesn't work
        result2 = mydb.likecol.drop() #this doesn't work
        print(result1,'\n',result2) #returns none for both
        try:
            col.delete_one(post) #this works
            pcol.delete_one(ppost) #this works
            return False
        except Exception as e:
            return e

任何解决方案,我已经尝试解决这个问题一周了。我是否应该更改数据库引擎,因为 Django 本身不支持 NoSQL。尽管我已经编写了使用 pymongo 执行 CRUD 的整个自定义脚本。

标签: pythondjangomongodbnosql

解决方案


推荐阅读