Im folgenden Codebeispiel gibt es einen 'Adresse' Typ und die Einfügung funktioniert gut. Wenn ich jedoch ein zusätzliches Attribut zum Adresstyp hinzufüge (neues_Attribut), das einem neuen_Attribut Typ zuordnet und dann in die user_profiles-Profile einfüge, erhalte ich einen Fehler, der nicht mit type map kompatibel ist. Ziemlich neu für Cassandra, also würde jede Hilfe geschätzt werden.Kann ein benutzerdefinierter Typ in Cassandra auf einen anderen benutzerdefinierten Typ verweisen?
CREATE TYPE new_attribute (
name text,
*map_l list<text>*
);
CREATE TYPE address (
street text,
city text,
zip int,
*new_attribute map<text, FROZEN<list<new_attribute>>>*
);
CREATE TABLE user_profiles (
login text PRIMARY KEY,
first_name text,
last_name text,
email text,
addresses map<text, frozen<address>>
);
// Inserts a user with a home address
INSERT INTO user_profiles(login, first_name, last_name, email, addresses)
VALUES ('tsmith',
'Tom',
'Smith',
'[email protected]',
{ 'home': { street: '1021 West 4th St. #202',
city: 'San Fransisco',
zip: 94110 ,
*new_attribute: [{'name': 'some value',
map_l: ['list', 'of', 'text']}]}});*
Du hast recht .. es scheint Es gab einen CQL-Fehler. Prost! – anm