Mongodb Mongo查询的优化与索引

Mongodb Mongo查询的优化与索引,mongodb,mongodb-query,nosql,Mongodb,Mongodb Query,Nosql,请帮助我了解需要创建什么类型的索引以及要索引的字段。 我已经测试了多个索引,但仍然需要很长时间才能执行 db.collection_1.aggregate([{ $match: { $and: [ { date: { $gte: new Date(1593561600000), $lt: new Date(1604966400000) } }, { type: 0 }, { $or: [ { partysr: 0 }, {} ] }, { $or: [ { code: "******

请帮助我了解需要创建什么类型的索引以及要索引的字段。 我已经测试了多个索引,但仍然需要很长时间才能执行

db.collection_1.aggregate([{ $match: { $and: [ { date: { $gte: new Date(1593561600000), $lt: new Date(1604966400000) } }, 
{ type: 0 }, { $or: [ { partysr: 0 }, {} ] }, { $or: [ { code: "******" }, { _id: { $type: -1 } } ] } ] } }, 
{ $sort: { date: -1 } }, { $skip: 0 }, { $limit: 100 }, 
{ $lookup: { from: "collection_2", localField: "code", foreignField: "code", as: "j" } }, 
{ $group: { _id: "$codeTsr" } } ]).explain("executionStats")

你给我们的信息很少。 您是否尝试过在有$lookup阶段和没有$lookup阶段的情况下测试此查询? 查询在没有查找速度的情况下是如何运行的? 我的第一个猜测是,您的集合\u 2集合没有正确的索引,这会减慢查询速度。如果您的查询在没有查找阶段的情况下要快得多,我会在集合2上为“code”属性创建索引。 另外,还有一个性能优化可能是首先执行$group阶段,然后执行$lookup阶段