我正在尝试将登录的会员 ID 输入到 Wix 的 CMS 中。我无法找到不使用代码来执行此操作的方法,当我尝试使用代码时,它可以工作,但会在数据库中创建一个附加项目,仅用于插入会员 ID。
我相信发生这种情况是因为我发送的其他数据使用无代码方法将屏幕上每个输入的输入连接到数据库中的特定表。我发现将当前记录的会员 ID 插入 CMS 的唯一方法是通过 JavaScript,但它发送两次:一次通过无代码方法发送所有数据,一次通过代码仅发送 memberId。我找不到一种方法来确保所有内容只发送一次而不在数据库中创建 2 个项目。
这是我发送memberId的代码:
export function buttonSubmit_click(event) {
currentMember.getMember()
.then(member => {
if (member) {
const userId = member._id;
const toInsert = { "userId": userId };
wixData.insert("Empresas1", toInsert)
.then(result => {
console.log("Item inserido com sucesso:", result);
})
.catch(err => {
console.error("Erro ao inserir o item:", err);
});
} else {
console.log("Nenhum membro logado.");
}
})
.catch(err => {
console.error("Erro ao obter o membro:", err);
});
}
可能有几种方法可以解决这个问题。但首先,您真的需要做任何事情吗?如果在无代码连接将项目插入集合时成员已登录,则应该有一个包含用户 ID 的所有者 (
_owner
) 字段。该字段默认隐藏,可以使用 管理字段 按钮显示。
如果这不能满足您的要求,并且您需要以编程方式添加用户 ID,则应使用
wix-dataset
API 而不是 wix-data
。您可以在后台使用 setFieldValue
将用户 ID 添加到当前项目。当用户提交其余数据时,您实际设置的用户 ID 也会被提交。