Почему метод delete () Phalcon \ Mvc \ Collection в коллекции MongoDB может не работать? - PullRequest
0 голосов
/ 29 марта 2020

Я вставил три документа в коллекцию 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, но документ с идентификатором "5e80a9d2577d257fe9703314" по-прежнему есть.

1 Ответ

0 голосов
/ 25 апреля 2020

Проблема была в названии коллекции. Документ не был удален из-за того, что я назвал собрание в верхнем регистре. Я изменил название коллекции на "auto_snippet", и удаление сработало.

...