【问题标题】:Create two indexes in MongoDB在 MongoDB 中创建两个索引
【发布时间】:2014-01-13 09:52:11
【问题描述】:

我有这个文件方案: 使用 Doctrine\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 上有索引 你建议我如何解决这个问题? 我是否必须告诉文档这些字段是索引,或者在 Mongo shell 中运行命令就足够了? 谢谢 !

【问题讨论】:

    标签: mongodb doctrine-orm


    【解决方案1】:

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

    ¿您是否考虑过为lnglat 使用地理空间索引?

    【讨论】:

    • 这就是我现在正在做的事情,但我不知道如何添加一个包含两个子字段 lat 和 lng 的新字段 ..
    • 您可以将collection 用于数字索引数组,将hash 用于关联数组。
    • 请提供更多详细信息?
    • 你可以有一个 $location 带有注释 @MongoDB\Array 和值 array( $lng, $lat ) 或带有注释 @MongoDB\Hash 和值 array( "lng" => $lng, "lat" => $lat )
    猜你喜欢
    • 2020-10-08
    • 2015-03-01
    • 2011-03-20
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 2018-09-01
    • 2021-10-25
    • 2012-04-01
    相关资源
    最近更新 更多