我有一个如下的集合。我想索引“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"}
],
}
答案 0 :(得分:0)
是的,您只能在集合的单个复合索引中对单个数组类型的字段进行索引,但您似乎在谈论" geo-spatial"查询有点不同。这根本没有错:
db.collection.ensureIndex({ "location": "2d", "product_list": 1 })
这是复合索引的完美有效形式。
所以它看起来像一个数组,但在这种情况下,MongoDB以不同的方式对待它。