{"record":{"id":"a8416c7f2b645fa9","repo":"n8n-io/n8n","slug":"missing-valuetextarray-for-containsall-operato","errorCode":null,"errorMessage":"Missing 'valueTextArray' for 'containsAll' operator.","messagePattern":"Missing 'valueTextArray' for 'containsAll' operator\\.","errorType":"exception","errorClass":"OperationalError","httpStatus":null,"severity":"warning","filePath":"packages/@n8n/nodes-langchain/nodes/vector_store/VectorStoreWeaviate/Weaviate.utils.ts","lineNumber":92,"sourceCode":"\t\t\tif (filter.valueString !== undefined) return property.equal(filter.valueString);\n\t\t\tif (filter.valueNumber !== undefined) return property.equal(filter.valueNumber);\n\t\t\tbreak;\n\n\t\tcase 'like':\n\t\t\tif (filter.valueString === undefined) {\n\t\t\t\tthrow new OperationalError(\"Missing 'valueString' for 'like' operator.\");\n\t\t\t}\n\t\t\treturn property.like(filter.valueString);\n\n\t\tcase 'containsany':\n\t\t\tif (filter.valueTextArray === undefined) {\n\t\t\t\tthrow new OperationalError(\"Missing 'valueTextArray' for 'containsAny' operator.\");\n\t\t\t}\n\t\t\treturn property.containsAny(filter.valueTextArray);\n\n\t\tcase 'containsall':\n\t\t\tif (filter.valueTextArray === undefined) {\n\t\t\t\tthrow new OperationalError(\"Missing 'valueTextArray' for 'containsAll' operator.\");\n\t\t\t}\n\t\t\treturn property.containsAll(filter.valueTextArray);\n\n\t\tcase 'greaterthan':\n\t\t\tif (filter.valueNumber === undefined) {\n\t\t\t\tthrow new OperationalError(\"Missing 'valueNumber' for 'greaterThan' operator.\");\n\t\t\t}\n\t\t\treturn property.greaterThan(filter.valueNumber);\n\n\t\tcase 'lessthan':\n\t\t\tif (filter.valueNumber === undefined) {\n\t\t\t\tthrow new OperationalError(\"Missing 'valueNumber' for 'lessThan' operator.\");\n\t\t\t}\n\t\t\treturn property.lessThan(filter.valueNumber);\n\n\t\tcase 'isnull':\n\t\t\tif (filter.valueBoolean === undefined) {\n\t\t\t\tthrow new OperationalError(\"Missing 'valueBoolean' for 'isNull' operator.\");","sourceCodeStart":74,"sourceCodeEnd":110,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/nodes-langchain/nodes/vector_store/VectorStoreWeaviate/Weaviate.utils.ts#L74-L110","documentation":"buildFilter maps the node's filter configuration onto the Weaviate client API. For operator 'containsAll' the required valueTextArray field was not supplied (undefined), so the containsAll clause cannot be constructed and an OperationalError names the missing field.","triggerScenarios":"Filter unit { operator: 'containsall', path: [...], /* valueTextArray missing */ } reaches buildFilter.","commonSituations":"Same as containsAny: expression resolved to undefined, key omitted from JSON, or empty source collection.","solutions":["Provide valueTextArray: { operator: 'containsAll', path: ['tags'], valueTextArray: ['x','y'] }.","Remove the filter unit if no array value exists.","Validate filter structure upstream."],"exampleFix":"// before: { operator: 'containsAll', path: ['tags'] }\n// after:  { operator: 'containsAll', path: ['tags'], valueTextArray: ['x','y'] }","handlingStrategy":"validation","validationCode":"if (f.operator.toLowerCase() === 'containsall' && (!Array.isArray(f.valueTextArray) || f.valueTextArray.length === 0)) { throw new Error(\"'containsAll' requires a non-empty valueTextArray\"); }","typeGuard":"function isContainsAllComplete(f: WeaviateFilterUnit): f is WeaviateFilterUnit & { valueTextArray: string[] } { return f.operator.toLowerCase() === 'containsall' && Array.isArray(f.valueTextArray) && f.valueTextArray.every(v => typeof v === 'string'); }","tryCatchPattern":"try { buildFilter(unit) } catch (e) { if (/valueTextArray.*containsAll/.test(e.message)) { /* supply array */ } else throw e; }","preventionTips":["Validate containsAll arrays upstream with the same helper as containsAny.","Refuse to emit a filter unit whose array value resolved to undefined.","Centralize operator→required-field rules in one validator."],"tags":["weaviate","filter","validation","operator","array"],"backgroundTag":null,"analyzedSha":"5ac6606e81f67bb9534255570cd4e86fd8101eee","analyzedAt":"2026-08-12T05:26:35.080Z","contentChangedAt":"2026-08-12T05:26:35.080Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}