background image
这里可以看出在 name 列添加了 unique index: uk_username
Part4:验证
当再有一个不包含 username 键值的文档被插入时,会抛出错误
PRIMARY> db.helei.insert({i:"11",age:51,create:new Date()})
WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 11000,
"errmsg" : "E11000 duplicate key error collection: helei.helei index: uk_username
dup key: { : null }"
}
})
Warning:警告
如果一个文档没有对应的键,索引会将其作为 null 存储。
——
总结
——
如果对某个键建立了唯一索引,但插入了多个缺少该索引键的文档,由于集合已经存在一
个该索引键值的值为 null 而导致插入失败。由于笔者的水平有限,编写时间也很仓促,文
中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正。
本文出自:贺磊的技术博客
出处:
http://suifu.blog.51cto.com/9167728/1902878