Estoy tratando de almacenar el siguiente enlace:MongoDB: índices compuestos únicos y dispersas con valores dispersos
URL = {
hostname: 'i.imgur.com',
webid: 'qkELz.jpg'
}
Quiero un índice compuesto único y escaso en estos dos campos porque:
- Una combinación de
hostname
ywebid
debe ser única. webid
siempre serán consultados conhostname
.webid
no tiene que ser globalmente único.- A
URL
no necesita tener un webid.
Sin embargo, cuando hago esto, me sale el siguiente error:
MongoError: E11000 duplicate key error index: db.urls.$hostname_1_webid_1 dup key: { : "imgur.com", : null }
supongo que en el caso de los índices compuestos, se cuentan los nulos, mientras que en los índices regulares, no lo son.
¿Hay alguna forma de solucionar este problema? Por ahora solo voy a indexar hostname
y webid
por separado.
Para [índices únicos] (http://www.mongodb.org/display/DOCS/ Indexes # Indexes-unique% 3Atrue) (compuesto o no) no puede tener claves idénticas. Debería poder insertar un único registro con (nombre de host, nulo) pero el segundo con nombre de host idéntico será un duplicado. – Stennie