MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Umgang mit Bindestrichen in GraphQL-Schemadefinitionen

GraphQL beschwert sich über diesen Feldnamen 'png-xlarge' ist ungültig. Der reguläre Ausdruck in der Fehlermeldung besagt, dass das erste Zeichen unabhängig von der Groß-/Kleinschreibung oder dem Unterstrich ein Buchstabe sein kann. Die restlichen Zeichen können auch Ziffern enthalten. Daher ist klar, dass weder der Bindestrich - noch einfaches Anführungszeichen ' ist für einen Feldnamen akzeptabel. Die Regeln folgen im Wesentlichen den Namensregeln für Variablen, die Sie in fast jeder Programmiersprache finden. Sie können die GraphQL-Benennungsregeln überprüfen .

Mit Hilfe von resolve Funktion können Sie dies wie folgt tun:

pngXLarge: { 
    type: GraphQLString,
    resolve: (imageFormats) => {
        // get the value `xlarge` from the passed mongoose object 'imageFormats'
        const xlarge = imageFormats['png-xlarge'];
        return xlarge;
    },
},