Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Acessar dados de usuário personalizados - SDK do Node.js

Nesta página

  • Antes de começar
  • Ler usuário de dados personalizado
  • Gravar em dados de usuário personalizados com um MongoClient

Você pode armazenar dados personalizados arbitrários sobre seus usuários com o Atlas App Services. Por exemplo, você pode armazenar o idioma preferido do usuário, a data de nascimento ou o fuso horário local. Antes de escrever e ler esses dados, você deve habilitar os dados de usuário personalizados no backend. Para saber mais, consulte Habilitar dados de usuário personalizados.

Para usar dados de usuário personalizados, primeiro você deve habilitá-los no App Services:

  1. Criar uma aplicação.

  2. Habilite dados de usuário personalizados.

  3. Crie um usuário ao qual aplicar dados personalizados.

Você recupera dados personalizados do usuário na propriedade customData do objeto User :

const customUserData = app.currentUser.customData;
console.log(customUserData);

Atlas App Services não atualiza imediatamente o valor do User.customData quando os dados subjacentes são alterados. Em vez disso, o Atlas App Services obtém a versão mais recente dos dados de usuário personalizado sempre que um usuário atualiza seu token de acesso ou quando você chama explicitamente refreshCustomData(), que garante que seu aplicativo tenha os dados de usuário personalizados mais recentes.

const updatedCustomUserData = await user.refreshCustomData();
console.log(updatedCustomUserData);

Observação

O campo customData do objeto de usuário é somente leitura em um aplicativo nó.

Usando operações CRUD padrão por meio do serviço MongoDB Atlas e um mongoClient, você pode acessar os dados personalizados de um usuário. O exemplo a seguir atualiza os dados personalizados de um usuário para alterar o favoriteColor do usuário para cor-de-rósea.

// A user must be logged in to use a mongoClient
const user = app.currentUser;
const mongo = user.mongoClient("mongodb-atlas");
const collection = mongo.db("custom-user-data-database").collection("custom-user-data");
// Query for the user object of the logged in user
const filter = { userId: user.id};
// Set the logged in user's favorite color to pink
const update = { $set: { favoriteColor: "pink" }};
// Insert document if it doesn't already exist
const options = { upsert: true };
const result = await collection.updateOne(filter, update, options);

Observação

Para modificar o campo de dados personalizados a partir de uma função de cliente ou usuário, é necessário configurar a permissão de gravação na coleção em que os dados personalizados estão armazenados. Se preferir restringir o acesso de gravação do cliente aos dados personalizados do seu aplicativo, você ainda poderá modificar o objeto a partir de uma função do sistema.

Voltar

Autentique usuários