为什么MongoDB集合中Phalcon\Mvc\Collection的delete()方法可能无法工作?

问题描述 投票:0回答:1

我在MongoDb集合中插入了三个文档,我想从集合中删除一个文档。我想从集合中删除一个文档。

这是MongoDB模型

use \Phalcon\Mvc\MongoCollection;

class AutoSnippet extends MongoCollection
{
  public $name;
  public $snippets = [];

  public function onConstruct()
  {
    $this->setSource('AutoSnippet');
  }

  public function initialize()
  {
    $this->setConnectionService('mongodbTracker');
    $this->getConnection()->selectCollection('AutoSnippet');
  }
}

它们都能成功工作。

1)

$snippet = AutoSnippet::findById("5e80a9d2577d257fe9703314");

2)

$snippet = AutoSnippet::findFirst([[
      '_id' => new MongoDB\BSON\ObjectID("5e80a9d2577d257fe9703314")
    ]]);

但delete()方法不工作。

$snippet->delete(); // returns true

delete() 方法返回 true 但id为 "5e80a9d2577d257fe9703314 "的文档仍然存在。

php mongodb phalcon
1个回答
0
投票

问题出在集合的名称上。由于我用大写字母命名集合,文档没有被删除。我把集合的名字改成了 "auto_snippet",然后删除就成功了。

© www.soinside.com 2019 - 2024. All rights reserved.