Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

カスタム ユーザー データにアクセス - Node.js SDK

項目一覧

  • 始める前に
  • カスタムユーザーデータの読み取り
  • MongoClient によるカスタム ユーザー データへの書込み

Atlas App Services を使用すると、ユーザーに関する任意のカスタム データを保存できます。 たとえば、ユーザーの希望言語、誕生日、ローカル タイムゾーン を保存できます。 このデータを読み書きする前に、バックエンドでカスタム ユーザー データを有効にする必要があります。 詳しくは、「 カスタム ユーザー データの有効化 」を参照してください。

カスタム ユーザー データを使用するには、まず Atlas App Services でカスタム ユーザー データを有効にする必要があります。

  1. アプリを作成します。

  2. カスタム ユーザー データを有効にします。

  3. カスタム データを適用するユーザーを作成します

UserオブジェクトのcustomDataプロパティでカスタム ユーザー データを取得します。

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

App Services は、基礎となるデータが変更されたときに、 User.customDataの値をすぐに更新しません。 代わりに、ユーザーがアクセス トークンを更新するたび、またはrefreshCustomData()を明示的に呼び出すと、App Services は最新バージョンのカスタム ユーザー データを取得します。これにより、アプリが最新のカスタム ユーザー データを保持できるようになります。

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

注意

ユーザー オブジェクトのcustomDataフィールドは、Node アプリケーションからの読み取り専用です。

MongoDB Atlas サービスmongoClientによる標準 CRUD 操作を使用して、ユーザーのカスタム データにアクセスできます。 次の例では、ユーザーのカスタム データを更新して、ユーザーのfavoriteColorを赤色に変更します。

// 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);

注意

To modify the custom data field from a client or user function, write permission to the collection in which custom data is stored must be configured. アプリケーションからカスタム データへのクライアントの書込みアクセスを制限する場合は、システム関数からオブジェクトを変更できます。

戻る

ユーザーの認証