本文為NoSQL數(shù)據(jù)模型設(shè)計(jì)系列的一部分。
mongodb會(huì)為數(shù)組字段創(chuàng)建多值索引。這一特性提供一種方式實(shí)現(xiàn)關(guān)鍵查詢。
首先創(chuàng)建一個(gè)字符串?dāng)?shù)組字段包含需要的關(guān)鍵字,然后在這個(gè)字段上創(chuàng)建索引,最后利用這個(gè)索引進(jìn)行關(guān)鍵字查詢。
例如下面文檔包含主題關(guān)鍵字
{ title : "Moby-Dick" ,
author : "Herman Melville" ,
published : 1851 ,
ISBN : 0451526996 ,
topics : [ "whaling" , "allegory" , "revenge" , "American" ,
"novel" , "nautical" , "voyage" , "Cape Cod" ]
}
在主題字段上創(chuàng)建數(shù)組,mongodb將會(huì)為每個(gè)主題值創(chuàng)建一個(gè)索引。
db.volumes.createIndex( { topics: 1 } )
基于此索引查詢
db.volumes.findOne( { topics : "voyage" }, { title: 1 } )
關(guān)鍵字索引的限制
- 不支持文字解析
- 不支持同義詞分析
- 不支持比重分析
- 不支持異步索引
完整內(nèi)容請(qǐng)查看NoSQL數(shù)據(jù)模型設(shè)計(jì)系列