【问题标题】:Deleting Specific element in firestore?删除firestore中的特定元素?
【发布时间】:2020-08-03 18:17:46
【问题描述】:

我正在尝试删除数据库中的文档。我正在通过以下命令检索文档:

doc_ref = db
    .collection(u'items')
    .where(u'Name', u'==', str(Name))
    .where(u'ID', u'==', str(ID))
    .stream()

我知道这是一个查询,它没有 id,除非它是文档,但不知道如何解决这个问题。谷歌文档的方式就是你需要的:

db.collection(u'cities').document(u'DC').delete() 

但我不确定使用上面获得的文档的正确语法是什么。任何帮助是极大的赞赏。

【问题讨论】:

    标签: python google-cloud-firestore


    【解决方案1】:

    正如一位来自 Google 的工程师在此 answer 中所阐明的,首先,您需要执行查询以检索值,然后从生成的数据库中循环“快照”,最后从“快照”。

    因此,首先您需要执行查询以检索值,使用您已经在使用的查询,然后运行以下代码:

    for doc in doc_ref:
        print(u'Deleting doc {} => {}'.format(doc.id, doc.to_dict()))
        doc.reference.delete()
    

    此代码未经测试,但是,我相信这是一个很好的起点,因为我是从官方文档中获得的,可访问here。此代码应通过您创建的流并删除每个文档。

    如果这些信息对您有帮助,请告诉我!

    【讨论】:

    • 谢谢!我一直在为此挠头,并没有注意到.reference!它有一个问题,它将该集合中的所有内容都变为 null,但现在它可以工作了。可能是我引用它的方式。再次感谢!
    • 太棒了@STOPIMACODER!我很高兴听到我可以帮助你,现在一切都很好!
    猜你喜欢
    • 2013-11-07
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多