如何使用 java/scala 在 mongodb 中使用复合索引
how to use compound index in mongodb using java/scala
我想在 a
和 b
两个字段上创建一个索引,但我希望 b
字段是唯一的 我不确定如何在使用中实现这一点复合索引请帮助这里是代码
var index=collectionMongo("test").createIndex(new BasicDBObject("a", 1))
var index1=collectionMongo("test").createIndex(new BasicDBObject("b", 1),new BasicDBObject("unique", true))
我怎样才能在复合索引中执行我想要的任务请帮忙
在我看来,您已经做对了,因为 index intersection 应该为您处理复合索引。您已经为 a
创建了一个索引,为 b
创建了一个唯一索引,并且 mongo 将在您执行接受这两个字段的查询时使用它们。
您可以检查索引是否被 运行 db.find({"query involving a and b here"}).explain("executionStats")
正确使用
如果您需要索引多个字段(单个和复合),交叉索引可能更适合复合索引,因为它减少了整体所需的磁盘 space。
我想在 a
和 b
两个字段上创建一个索引,但我希望 b
字段是唯一的 我不确定如何在使用中实现这一点复合索引请帮助这里是代码
var index=collectionMongo("test").createIndex(new BasicDBObject("a", 1))
var index1=collectionMongo("test").createIndex(new BasicDBObject("b", 1),new BasicDBObject("unique", true))
我怎样才能在复合索引中执行我想要的任务请帮忙
在我看来,您已经做对了,因为 index intersection 应该为您处理复合索引。您已经为 a
创建了一个索引,为 b
创建了一个唯一索引,并且 mongo 将在您执行接受这两个字段的查询时使用它们。
您可以检查索引是否被 运行 db.find({"query involving a and b here"}).explain("executionStats")
如果您需要索引多个字段(单个和复合),交叉索引可能更适合复合索引,因为它减少了整体所需的磁盘 space。