我知道复合索引是这样定义的:
db.products.ensureIndex( { "item": 1, "stock": 1 } )
和一个像这样的简单索引:
db.active.ensureIndex( { item: "hashed" } )
问题是如何实现两者?
我知道复合索引是这样定义的:
db.products.ensureIndex( { "item": 1, "stock": 1 } )
和一个像这样的简单索引:
db.active.ensureIndex( { item: "hashed" } )
问题是如何实现两者?
如果要实现复合哈希索引,4.4及以上版本是可行的。从文档中,您现在可以将其创建为:
db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )
db.collection.createIndex( { "fieldA" : 1, "fieldB" : "hashed", "fieldC" : -1 } )
对于有问题的特定示例
db.products.ensureIndex( { "item": "hashed", "stock": 1 } )
MongoDB 4.4 支持具有单个哈希的复合索引,可以像这样创建
db.collection.createIndex( { "colA" : 1, "fieldB" : "hashed" } )
注意:确保featureCompatibilityVersion设置为 4.4,以便您可以创建复合哈希索引。
db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )