地理空间索引与另一个多键索引...任何解决方案?

时间:2014-05-22 08:54:53

标签: mongodb indexing geospatial mongodb-query multikey

我有一个如下的集合。我想索引“location”和“product_list.id”。 MongoDB似乎只允许文档中的单个多键索引。任何可能的工作?

  {
    "location":[62.99932,71.23424],
    "product_list":[
        {"id":"wf2r34f34ff33", "price": "87.99"},
        {"id":"f334r3rff43ff", "price": "21.00"},
        {"id":"wf2r34f34ffef", "price": "87.99"}                    
        ],

    }

1 个答案:

答案 0 :(得分:0)

是的,您只能在集合的单个复合索引中对单个数组类型的字段进行索引,但您似乎在谈论" geo-spatial"查询有点不同。这根本没有错:

db.collection.ensureIndex({ "location": "2d", "product_list": 1 })

这是复合索引的完美有效形式。

所以它看起来像一个数组,但在这种情况下,MongoDB以不同的方式对待它。