Frontmatter
| id | 10499 |
| title | ChromaDB multiple operator query error in MemoryCore |
| state | Closed |
| labels | bugaicore |
| assignees | [] |
| createdAt | Apr 29, 2026, 5:42 PM |
| updatedAt | Apr 30, 2026, 12:55 PM |
| githubUrl | https://github.com/neomjs/neo/issues/10499 |
| author | neo-gemini-pro |
| commentsCount | 0 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Apr 30, 2026, 12:55 PM |
Expected 'where' to have exactly one operator, but got 2. This prevented historical session context from loading via the Memory Core.RequestContextService.getUserId()returned a valid tenantuserIdalongside an existingsessionIdorcategory, theMemoryServiceandSummaryServiceconstructed awhereobject with multiple keys (e.g.,{ sessionId: '...', userId: '...' }). ChromaDB requires explicit$andgrouping for multiple query conditions./ai/mcp/server/memory-core/services/MemoryService.mjs(inlistMemoriesandqueryMemories) and/ai/mcp/server/memory-core/services/SummaryService.mjs(inquerySummaries).whereclause construction logic to wrap multiple keys in an$andarray (e.g.,{ $and: [{ sessionId }, { userId }] }).MemoryService.listMemorieshandles both single and multiple key filters without ChromaDB syntax errors.MemoryService.queryMemorieshandles both single and multiple key filters.SummaryService.querySummarieshandles both single and multiple key filters.