我有一个像下面这样的集合。我想索引"位置"one_answers"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"}
],
}
确实,您只能在集合的单个复合索引中的单个数组类型的字段上建立索引,但是您似乎正在谈论"地理空间"查询,这有点不同。这完全没有问题:
db.collection.ensureIndex({ "location": "2d", "product_list": 1 })
这是一个完全有效的复合索引形式。
所以它看起来像一个数组,但在这种情况下MongoDB对待它不同。