【问题标题】:Deleting documents from collection in Pymongo?从 Pymongo 的集合中删除文档?
【发布时间】:2019-05-25 17:08:13
【问题描述】:

我有以下:

from pymongo import MongoClient
client = MongoClient()
db=client.localhost
collection=db['accounts']
db.collection.remove({})

cursor = collection.find({})
for document in cursor:
    print(document)

第二部分只是打印集合中的所有文档。但是,每次我重新运行程序时,该集合都不会被清除。有谁知道为什么?

【问题讨论】:

  • 问题是您使用db.collection(指向名为“collection”的集合)而不是collection 变量(指向“accounts”),因此您正在清理错误的集合

标签: python pymongo


【解决方案1】:

就这样做

db.accounts.drop()

【讨论】:

    【解决方案2】:

    而不是这样做

    db.collection.remove({})
    

    这样做

    db.accounts.remove({})
    

    你也不需要这条线collection=db['accounts']

    如果您想要动态集合名称,您可以执行以下操作:

    collection_name = 'accounts'
    getattr(db, collection_name).remove({})
    

    【讨论】:

      【解决方案3】:

      代替

      db.collection.remove({})
      

      你可以试试这个

      collection.delete_many({})
      

      希望能解决您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-21
        • 1970-01-01
        • 1970-01-01
        • 2017-05-08
        • 2017-04-11
        • 2017-02-21
        • 1970-01-01
        • 2011-04-23
        相关资源
        最近更新 更多