【发布时间】:2020-10-16 09:19:49
【问题描述】:
我正在尝试订购我的嵌入文档。
字段如下所示
/**
* @ODM\EmbedMany(targetDocument=Image::class, strategy="set")
* @ODM\Index(keys={"order"="asc"})
* @Groups({"offer:read"})
*/
protected $images = [];
图像嵌入文档
namespace App\Document\Embedded;
use App\Document\Traits\NameableTrait;
use App\Document\Traits\OrderableTrait;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
/**
* @ODM\EmbeddedDocument
*/
class Image
{
use NameableTrait;
use OrderableTrait;
…
}
还有可排序的特征
namespace App\Document\Traits;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
use Symfony\Component\Serializer\Annotation\Groups;
trait OrderableTrait
{
/**
* @ODM\Field(type="int")
* @Groups({"offer:read"})
*
* @var int|null
*/
private $order;
public function getOrder(): int
{
return $this->order;
}
public function setOrder(int $order): void
{
$this->order = $order;
}
}
我用bin/console doctrine:mongodb:schema:update更新了索引
但是我的图片没有排序。索引是这样做的吗?
【问题讨论】:
-
我用的不是orm orm,而是ODM,你绝对不能用mongodb的order by。
标签: mongodb symfony doctrine doctrine-odm