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