node.js - 用于单独查询的节点 Mongoose 单独索引
问题描述
我们可以为同一个集合上完全独立的查询创建完全独立的索引吗?
我想要一个有效的查询,让用户使用这样的索引检索他们的活动
index{ userDBID: 1 }
示例查询
ActivityModel.find({ userDBID }).lean();
我想要对整个应用程序统计信息进行单独的有效查询,该统计信息也可以获取活动,但需要使用单独的复合索引,像这样
index{season: 1, matchID: 1}
示例查询
ActivityModel.find({ season, matchID }).lean()
ActivityModel.find({ season }).lean();
我发现很难找到可靠的高质量答案。我知道 hint() 似乎是一个解决方案,但我对此持怀疑态度。
丹尼尔
解决方案
当然可以。
您可以添加:
schema.index({ userDBID: 1 });
schema.index({ season: 1, matchID: 1 });
在您的架构声明之后,在使用mongoose.model('Model', schema);
.
您将看到(一段时间后)在数据库中添加的新模式。如果您使用像这样的检查工具,MongoDB Compass
您甚至会有视觉表示。
我在生产应用程序中有效地使用它,所以我确定这一点(只是今天的用法):
推荐阅读
- android - 在应用程序中使用本机 Speech-To-Text 功能?
- javascript - 为什么我们不能使用普通的 for 循环来打印 javascript 对象?
- python - 使用 SVM 模型和 scikit-learn 进行预测的 AttributeError
- flutter - 如何在飞镖(颤振)中为符号创建切换
- javascript - 我们如何在反应中导出时使用组件状态中的值
- python - 如何将 *args 与 argparse 一起使用?
- java - 在不运行整个工作流程的情况下测试 main 方法
- node.js - 使用 Axios 下载文件然后上传到 Amazon S3
- c# - System.DateTime 和 SQL Server DateTime2 比较产生意外结果
- uwp - UWP 和 Winform 应用程序的 ClickOnce 安装程序