Symfony MongoDB Doctrine使用错误的集合来保存文档

时间:2018-12-24 16:01:46

标签: mongodb symfony doctrine

我正在使用symfony mongoDB学说。

我有这样的文件:

namespace AppBundle\Document;

use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;

/**
 * Class RateLimit
 *
 * @MongoDB\Document(collection="rate_limits", repositoryClass="AppBundle\Repository\RateLimitRepository")
 */
class RateLimit
{
    /**
     * @var int $id
     *
     * @MongoDB\Id()
     */
    private $id;

    /**
     * @var int $requests
     *
     * @MongoDB\Field(type="integer")
     */
    private $requests;

    /**
     * @var string $ip
     *
     * @MongoDB\Field(type="integer")
     */
    private $ip;
// and more code

这是存储库代码:

public function save(RateLimit $limit)
    {
        $this->dm->persist($limit);
        $this->dm->flush($limit);
    }

当我尝试保存此文档时,不会将其插入rate_limits集合中。我可以看到探查器:

db.tags.find({ "ip": "127.0.0.1" }).limit(1);
db.tags.insert({ "0000000051b4e83e0000000026f8bb13": { "_id": ObjectId("5c20ff7ce155c42b626a6edc"), "requests": 1, "timeout": 1545666488 } });

这是正确的查询,但此处的集合必须为rate_limits。 为什么集合是tags? 我做错了什么?

0 个答案:

没有答案