在MongoDB中创建两个索引

在MongoDB中创建两个索引,mongodb,doctrine-orm,Mongodb,Doctrine Orm,我有这个文件计划: 使用条令\ODM\MongoDB\Mapping\Annotations作为MongoDB /** * @MongoDB\Document(collection="users") * */ class Markers { /** * @MongoDB\Id */ protected $id; /** * @MongoDB\Float */ protected $lat; /** *

我有这个文件计划: 使用条令\ODM\MongoDB\Mapping\Annotations作为MongoDB

/**
 * @MongoDB\Document(collection="users") *
 */
class Markers
{
    /**
     * @MongoDB\Id
     */
    protected $id;
    /**
     * @MongoDB\Float
     */
    protected $lat;
    /**
     * @MongoDB\Float
     */
    protected $lng;
    /**
     * @MongoDB\String
     */
    protected $title;
}
我想要的是在$title字段和$lat和$lng上建立索引 你建议我怎么解决这个问题? 我是否必须告诉文档这些字段是索引,或者在MongoShell中运行命令就足够了?
谢谢

您可以在Mongo shell中定义索引,并使其独立于代码实现。您的数据库可以从不同的系统访问,并保持其管理的一致性


?您是否考虑过使用lng和lat的地理空间指数?

这就是我目前正在研究的问题,但我不知道如何添加一个包含两个子字段lat和lng的新字段。您可以使用collection来表示数字索引数组,使用hash来表示关联数组。请提供更多详细信息?您可以使用带有注释@MongoDB\Array和值数组$lng的$location、$lat或带有注释@MongoDB\hash和值数组lng=>$lng,lat=>$lat。