{"record":{"id":"2a543c382334cbe8","repo":"googleapis/mcp-toolbox","slug":"no-value-specified-for-filter-on-field-s","errorCode":null,"errorMessage":"no value specified for filter on field '%s'","messagePattern":"no value specified for filter on field '(.+?)'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/tools/firestore/firestorequerycollection/firestorequerycollection.go","lineNumber":221,"sourceCode":"\tValue interface{} `json:\"value\"`\n}\n\n// Validate checks if the filter configuration is valid\nfunc (f *FilterConfig) Validate() error {\n\tif f.Field == \"\" {\n\t\treturn fmt.Errorf(\"filter field cannot be empty\")\n\t}\n\n\tif !validOperators[f.Op] {\n\t\tops := make([]string, 0, len(validOperators))\n\t\tfor op := range validOperators {\n\t\t\tops = append(ops, op)\n\t\t}\n\t\treturn fmt.Errorf(errInvalidOperator, f.Op, ops)\n\t}\n\n\tif f.Value == nil {\n\t\treturn fmt.Errorf(errMissingFilterValue, f.Field)\n\t}\n\n\treturn nil\n}\n\n// OrderByConfig represents ordering configuration\ntype OrderByConfig struct {\n\tField     string `json:\"field\"`\n\tDirection string `json:\"direction\"`\n}\n\n// GetDirection returns the Firestore direction constant\nfunc (o *OrderByConfig) GetDirection() firestoreapi.Direction {\n\tif strings.EqualFold(o.Direction, \"DESCENDING\") {\n\t\treturn firestoreapi.Desc\n\t}\n\treturn firestoreapi.Asc\n}","sourceCodeStart":203,"sourceCodeEnd":239,"githubUrl":"https://github.com/googleapis/mcp-toolbox/blob/8cc6e09de2ad7b8bffc77751799585a1401a48eb/internal/tools/firestore/firestorequerycollection/firestorequerycollection.go#L203-L239","documentation":"Filter-validation guard in FilterConfig.Validate: the filter has a field and a valid operator but `value` is null/absent, so the comparison cannot be constructed.","triggerScenarios":"Thrown at internal/tools/firestore/firestorequerycollection/firestorequerycollection.go:221 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Supply a concrete `value` (including explicit nulls via the appropriate Firestore sentinel if intended)","Remove filters you did not mean to send"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8cc6e09de2ad7b8bffc77751799585a1401a48eb","analyzedAt":"2026-09-05T01:10:36.887Z","contentChangedAt":"2026-09-05T01:10:36.887Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}