Ich habe Dokumente mit dem folgenden Schema:Mongodb Sharding, verwenden Sie mehrere Felder als Shard-Schlüssel?
{
idents: {
list: ['foo', 'bar', ...],
id: 123
}
...
}
das Feld idents.list ist ein Array von String und enthält immer mindestens ein Element. Das Feld idents.id kann oder kann nicht existieren.
Im Laufe der Zeit werden mehr Einträge zu 'idents.list' hinzugefügt und zu einem späteren Zeitpunkt könnte auch das Feld idents.id gesetzt werden.
Diese beiden Felder dienen zur eindeutigen Identifizierung eines Dokuments und sind daher für einen Shard-Schlüssel relevant. ist es möglich, Sharding mit diesem Schema zu verwenden?
UPDATE: Dokumente immer über {idents.list: 'foo'}
abgefragt werden ODER { $or: [ {idents.list: 'foo'}, {idents.id: 42} ] }
Wir mehrere Felder für eine Scherbe Schlüssel verwenden können. Aber wenn wir mehrere Schlüssel verwenden, können wir niemals einen Hash-Schlüssel haben. Das ist mein Verständnis. –