MST

星途 面试题库

面试题:MongoDB中如何为数组字段创建合适的索引以优化查询性能

假设有一个集合,文档结构如下:{ '_id': ObjectId('645c95d9996195785890904a'), 'products': [ { 'name': 'Product1', 'price': 10 }, { 'name': 'Product2', 'price': 15 } ] } 。现在需要频繁查询 products 数组中 price 大于某个值的文档,请问应该如何创建索引来提升查询性能?
18.2万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

在 MongoDB 中,可以针对 products.price 字段创建索引来提升查询性能。使用以下命令创建索引:

db.collection.createIndex({ "products.price": 1 })

上述命令创建了一个升序索引,如果查询条件可能包含降序排序等其他场景,也可根据实际需求调整索引方向。此索引可以加快对 products 数组中 price 大于某个值的文档的查询速度。