看来“创建文档后删除文档太早,有时将无法获得删除计数值”,该如何解决?

时间:2019-09-27 08:26:57

标签: mongodb

我有一个监视服务,以检查mongodb连接器是否工作正常(用于从mongodb到Elasticsearch的syn数据)。因此,我将创建一些测试数据并将其保存在mongodb集群中,然后接下来将很快删除测试数据。像这些步骤一样:

  1. 我将创建一个新文档并将其保存在mongodb集群中。
  2. mongodb连接器将很快自动将文档同步到ElasticSearch。
  3. 删除刚刚创建的文档,并检查是否还将其从ES中删除。

第1步代码:

def insert(self, article):
    result = self.coll.insert_one(article)
    self.inserted_id = result.inserted_id

第2步代码:

def remove(self):
    result = self.coll.delete_one({"_id": ObjectId(self.inserted_id)})
    self.logger.info("mongodb delete details, ack: {0}, deleted_count: {1}, raw_result: {0}".format(result.acknowledged, result.deleted_count, result.raw_result))
    # other code next...

我可以在步骤1中获得新创建的文档ID,但是有时当我通过ID删除它时,我会发现结果。delete_count为0,我希望它的值为1。

这是什么问题?

我是否有可能创建新文档,然后删除它太快而不会引起问题?

谢谢。

0 个答案:

没有答案