diff --git a/server/core/src/fulltext.ts b/server/core/src/fulltext.ts index b7709836624..cd4b6aea78e 100644 --- a/server/core/src/fulltext.ts +++ b/server/core/src/fulltext.ts @@ -290,9 +290,7 @@ function getResultIds (ids: Set>, _id: ObjQueryType> | undefin const result = new Set>() if (_id !== undefined) { if (typeof _id === 'string') { - if (!ids.has(_id)) { - return new Set() - } else { + if (ids.has(_id)) { result.add(_id) } } else if (_id.$in !== undefined) { @@ -302,11 +300,13 @@ function getResultIds (ids: Set>, _id: ObjQueryType> | undefin } } } else if (_id.$nin !== undefined) { - for (const id of ids) { - if (!_id.$nin.includes(id)) { - result.add(id) - } + for (const id of _id.$nin) { + ids.delete(id) } + return ids + } else if (_id.$ne !== undefined) { + ids.delete(_id.$ne) + return ids } } else { return ids