DoogiboD
Convex Community14mo ago
11 replies
Doogibo

Conditionally Building Queries

Having trouble figuring out how to do the following without TypeScript complaining.

I want to start a query like this:

 let query = ctx.db.query("requests");


And conditionally add to it. Then later for an indexed query:

query = query.withIndex('by_this_and_that', q => {
      const baseQuery = q.eq('this', user._id);
      return status ? baseQuery.eq('that', status) : baseQuery;
    })


Then later, an optional in memory filtering.

query =  query.filter(q => {
          if (status) {
            return q.neq(q.field('status'), 'DRAFT');
          }
          return q;
        })


Something like that anyway. But I run into:

is missing the following properties from type 'QueryInitializer<{ document: { _id: Id<"requests">; _creationTime: .... etc.
Was this page helpful?