{"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":"OperationalError from buildFilter when operator is 'containsall' but valueTextArray is undefined. Identical mechanics to containsAny but for property.containsAll(...).","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","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}