当前位置: 首页 > 知识库问答 >
问题:

按_id删除文档不起作用[重复]

权承
2023-03-14

我有一个在MongoDB中存储数据脚本,我想用另一个脚本删除文档。我的数据库中存储的每个文档都采用以下格式:

{"k1526346000_500": 
      {"r45037": {"C": "1", "V": "1000", "L": "1181", "D": "75"},
      {"r21542": {"C": "2", "V": "94527", "L": "105", "D": "94"},
      etc...
}

我想做的是通过传递密钥(在本例中为k1526346000_500)来删除文档,当我尝试执行以下操作时:

db.collection.delete_one({_id:key}) 
Exception in thread Thread-1:
   Traceback (most recent call last):
   File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
   self.run()
   File "fetch.py", line 38, in run
       read(self.mongo).test(key)
       File "/var/python/lib/script.py", line 121, in test
       db.collection.delete_one({_id:key})
   NameError: global name '_id' is not defined

编辑:当我转储该文档时,我会得到以下结果:

{ "_id" : ObjectId("5afda3efb2031025afe0d32e"), "k1526346000_500" : { "r4" : { "C" : "1", "V" : "447616", "L" : "1", "D" : "4" }

所以这里肯定不是用“_id”,但我不知道如何捕捉这个字段:(

共有1个答案

顾俊誉
2023-03-14

Python不是JavaScript。关键字需要引用:

db.collection.delete_one({"_id": key}) 
 类似资料:
  • 问题内容: 我试图通过执行以下循环来获取TreeMap的前10个元素: 该打印 工具,为什么可能不起作用? 更新 这是我的实现: 更新 这很有用:Java Map按值排序。 问题答案: public int compare(Integer a, Integer b) { if (base.get(a) >= base.get(b)) { return -1; } else { return 1;

  • 我使用的是Kafka版本0.8.2。在开发过程中,我想我可能需要删除一个主题。所以我所做的是在服务器配置文件中放入以下一行,并启动两台kafka服务器。 当我需要删除一个主题并运行以下命令时, 现在距我运行“删除主题”命令已经17个小时了,但Kafka仍在向我显示该主题已标记为删除。是Kafka的虫子还是我在这里做错了什么?因为在我看来这不正常。有人能就此澄清一下吗?

  • 通过指定文档的 /index/type/id 路径可以删除文档: $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; // Delete doc at /my_index/my_type/my_id $response = $client->delete($params);

  • 我使用apache beam和google dataflow Runner将数据从kafka流到BigQuery。我想利用insertId进行重复数据删除,我在google Docs中发现了这一点。但是,即使这些插入是在几秒钟内发生的,我仍然看到许多行具有相同的insertID。现在我在想,也许我没有正确地使用API来利用BQ提供的流式插入的重复数据删除机制。 我在beam中编写的代码如下所示:

  • 我正在尝试以编程方式配置log4j2v2。11.1作为DefaultRolloverStrategy的一部分,使用新的删除操作删除旧文件。 正如您可以从下面的代码中看到的,我已将系统设置为每天创建日志文件,并在文件大小达到1MB时滚动该文件。 我尝试使用两个条件将删除操作添加到DefaultRolloverStrategy中—IfFileName和IfLastModified。IfFileName

  • 我尝试使用Registfit2.0来实现一个库系统。可以添加图书,列出所有图书信息,列出一本书信息,删除一本书,删除所有图书,更新一本书信息。 我的baseURL结尾有一个“/”: 前三个特性工作得很好: 您将在响应中看到,检查请求信息,method是“get”,但标记显示method=“delete”。 Update2:根据Dexter的建议,我添加了用于调试的HttpLoggingInterc