javascript - 在子集合中创建文档时出现问题
问题描述
我正在处理注册表单。用户注册,然后在 Firebase 的“公司”集合中添加一个新公司,然后在刚刚创建的公司下添加一个“用户”集合,并将刚刚创建的用户作为文档添加到公司。
一切正常,直到我的代码尝试在刚刚创建的公司下添加一个新的集合“用户”。到目前为止,这是我的代码:
return async (dispatch, getState) => {
try {
const { companyName, email, password } = getState().user;
const response = await Firebase.auth().createUserWithEmailAndPassword(
email,
password
);
if (response.user.uid) {
// Set up company
const company = {
name: companyName,
owner: response.user.uid
};
// Create company
db.collection("companies")
.add(company)
.then(ref => {
console.log("Company ID ", ref.id);
console.log("User ID ", response.user.uid);
// Set up first user
const user = {
uid: response.user.uid,
email: email
};
// Add first User
db.doc(ref.id)
.collection("users")
.add(user);
});
dispatch({ type: SIGNUP, payload: user });
}
} catch (e) {
alert(e);
}
};
这些console.logs返回正确的ID,所以看起来我对刚刚创建的公司的引用是如何创建的?我将如何解决这个问题?
解决方案
db.doc(ref.id).collection("users").add(user)
可能是错的。
你可以试试ref.collection("users").add(user)
或db.collection("companies").doc(ref.id).collection("users").add(user);
// Add first User
// db.doc(ref.id)
// .collection("users")
// .add(user);
ref.collection("users").add(user);
// db.collection("companies").doc(ref.id).collection("users").add(user);
看:
推荐阅读
- postgresql - 如何用 PostgreSQL 中的先前值填充 Null?
- sql - 选择两个计数相同的列不同的地方
- javascript - 是否有基于 React 的项目的官方风格指南或命名约定?
- php - 在 Onelogin Openid 重定向中 MFA 后出现 UnauthorizedError
- javascript - asyncPipe 中的方法运行多次
- spring - 创建名为“app.dev.demo.DemoApplicationTests”的 bean 时出错:通过字段“userrepository”表达的不满足依赖关系
- node.js - 如何在 AWS Lambda 层中调试 ffmpeg-static
- python - 如何使用 C++ 以有效的方式生成随机数
- javascript - 反应钩子状态不使用最新
- python - 如何从 Jupyter Notebook 中的对象释放内存