【发布时间】:2021-06-01 07:16:53
【问题描述】:
我有一个集合,比如说 db 中的 Fruits。其中有以下字段
{
"_id": ObjectId(...),
"item": "Banana",
"category": ["food", "produce", "grocery"],
"location": "4th Street Store",
"stock": 4,
"type": "cases"
}
_id默认有一个索引,我添加了另一个索引,
{
"item": "1",
"category": "1",
"stock": "1",
"type": "1"
}
这个集合有数千个数据,我的查询响应很慢。我的查询是。
在我上面提到的索引之后,我需要添加所有这些吗 检查我的查询,或者我可以在索引中添加的键上使用任何?
就像,目前我的查询是这样的
fruits.find({item: 'new'});
fruits.find({item: 'new', category: 'history'});
fruits.find({stock: '5', category: 'drama'});
fruits.find({type: 'new'});
包含所有这些键的索引是否足够,或者我需要 为所有这些键组合创建了不同的索引,我 上面提到的?
有时我使用查询,有时我在其他一些集合上使用聚合并查找此水果集合,然后进行搜索等。
【问题讨论】:
-
你能显示解释查询的结果吗?
-
mongodb compound index docs 中很好的解释,只需按照文档中的说明进行操作即可。
标签: mongodb aggregation-framework