0

我有一个像下面这样的集合。我想索引“位置”和“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"}                    
        ],

    }
4

1 回答 1

0

诚然,您只能在集合的单个复合索引中对单个数组类型的字段进行索引,但您似乎在谈论有点不同的“地理空间”查询。这根本没有错:

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

这是复合索引的一种完全有效的形式。

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

于 2014-05-22T09:38:28.393 回答