Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

访问自定义用户数据 - Node.js SDK

在此页面上

  • 开始之前
  • 读取自定义用户数据
  • 使用 MongoClient 写入自定义用户数据

您可以使用Atlas App Services存储有关用户的任意自定义数据。 示例,您可以存储用户的首选语言、出生日期或当地时区。 在写入和读取此数据之前,您必须在后端启用自定义用户数据。 要学习;了解详情,请参阅启用自定义用户数据。

要使用自定义用户数据,必须首先在 App Services 中启用自定义用户数据:

  1. 创建应用。

  2. 启用自定义用户数据。

  3. 创建要应用自定义数据的用户

您可以在 User对象的customData属性中检索自定义用户数据:

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

当基础数据发生变化时, Atlas App Services不会立即更新User.customData 的值。 相反,每当用户刷新其 访问令牌 或您显式调用 refreshCustomData() 时,Atlas App Services 都会获取最新版本的自定义用户数据,从而确保您的应用程序拥有最新的自定义用户数据。

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

注意

用户对象的customData字段在节点应用程序中是只读的。

通过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);

注意

要通过客户端或用户函数修改自定义数据字段,必须配置对存储自定义数据的集合的写入权限。 如果您希望限制客户端对应用程序中自定义数据的写入权限,您仍然可以通过系统函数修改该对象。

后退

验证用户身份