v1.2adapters/sqlite
Tile.JS
Tile.JS

Escrita, update e remoção

Crie documentos, atualize com operadores, faça upsert e remova registros com segurança.

Escrita, update e remoção

create()

Insere um novo documento após aplicar defaults, normalização e validação.

const member = await database.member.create({
  name: "Ada Lovelace",
  email: "ADA@EXAMPLE.COM",
});

Retorno esperado:

{
  _id: "68526dba05db8ec36dcb33d8",
  name: "Ada Lovelace",
  email: "ada@example.com",
  __v: 0,
  createdAt: Date,
  updatedAt: Date,
}

updateOne()

Atualiza o primeiro documento encontrado e retorna o documento atualizado.

Merge direto

const updated = await database.member.updateOne(
  { email: "ada@example.com" },
  { verified: true },
);

Usando operadores

const updated = await database.member.updateOne(
  { email: "ada@example.com" },
  {
    $set: {
      verified: true,
      name: "Ada Byron",
    },
    $inc: {
      visits: 1,
    },
    $unset: ["note"],
  },
);

Operadores suportados

Prop

Type

upsert()

Atualiza quando encontra um documento e cria um novo quando nada é encontrado.

const member = await database.member.upsert(
  { email: "ada@example.com" },
  {
    name: "Ada Lovelace",
    verified: true,
  },
);

Como o create implícito acontece no upsert

Quando o documento ainda não existe, o Tile cria um novo objeto combinando o filter com o data informado no upsert().

deleteOne()

Remove o primeiro documento correspondente ao filtro:

await database.member.deleteOne({
  email: "ada@example.com",
});

deleteMany()

Remove vários documentos:

await database.member.deleteMany({
  verified: false,
});

Sem filtro, remove tudo da collection:

await database.member.deleteMany();

Não mutacione _id em updates

Evite alterar _id em updateOne(). O comportamento atual da biblioteca não trata isso como uma renomeação segura do registro.

Próximo passo

On this page