Pergunta 1: Sim, exatamente isso.

Pergunta 2: Fiz localmente, está bem rápido, mas como me sugeriram, vou fazer comparando com o SQLite.

Pergunta 3: Pensei em usar um callback dentro da query. Por exemplo: colecao.query(doc => doc.age > 18), dessa forma ele retorna uma lista de usuários acima dos 18 anos, acho que assim mantém a api mais simples, mas vou atualizar e por mais métodos para isso. Porém, se não me engano esses tipos de queries já são possíveis fazer com os métodos do Array.prototype, talvez com a ajuda de um Promise.all