我有一个复合索引
{ userID:1, connectionStatus: 1, userTargetLastName: 1})
我想支持两个查询:
UserConnection.find( { $and : [ { userID : req.decoded.id }, { connectionStatus : 'accepted' } ] })
.sort({'_id': -1}).exec()
和
UserConnection.find( { $and : [ { userID : req.decoded.id }, { connectionStatus : 'accepted' } ] })
.sort({'userTargetLastName': 1}).exec()
我很困惑是否需要第二个复合索引来按 _id 排序,或者它是否“内置”到我的复合索引中?(根据 mongodb 文档,我的复合索引还应该支持 userID:1、connectionStatus:1 查询(但我可以按什么顺序对它们进行排序?按 _id ?)。所以我需要在 _id 或 created 上添加另一个复合索引?
{ userID:1, connectionStatus: 1, created: -1})