我想在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))
如何在复合索引中执行我想要的任务请帮助
答案 0 :(得分:0)
我看待它的方式,你已经做好了,因为index intersection应该为你处理复合索引。您已为a
创建了索引,并为b
创建了唯一索引,当您执行同时接受这两个字段的查询时,mongo将同时使用这两个索引。
您可以通过运行db.find({"query involving a and b here"}).explain("executionStats")
如果您需要索引许多字段(单个和复合),则交集索引可能有利于复合索引,因为它会减少整体所需的磁盘空间。