如何从 Javascript 在 Cloud Firestore 中创建集合?
Posted
技术标签:
【中文标题】如何从 Javascript 在 Cloud Firestore 中创建集合?【英文标题】:How to create collection in Cloud Firestore from Javascript? 【发布时间】:2018-05-31 23:06:17 【问题描述】:当用户在我的 Angular 应用中创建帐户时,我的应用会使用电子邮件和密码创建用户帐户(使用 Firebase API)。但我也想创建新的集合来保存更多的数据,比如名字、姓氏......
每个集合的名称都会有 uid。
但是不知道怎么强求?
db.createCollection('abcXdefX')
不存在。
我不知道该怎么办。请帮忙。
【问题讨论】:
【参考方案1】:在 Firestore 中,当您将文档添加到不存在的集合中时,无需专门创建该集合即可创建该集合。例如,
firebase.firestore().collection("new-coll").add("Hello":"World")
如果集合new-coll
不存在,则创建它,并将文档"Hello": "World"
添加到其中。
【讨论】:
【参考方案2】:您还可以在集合内创建文档。您不必每次都创建不同的集合。
db.collection("users").doc("userid").set(
username: 'username',
password: 'password',
email: 'email',
age: 'age'
)
【讨论】:
【参考方案3】:我试图在文档中创建一个集合,但接受的答案对我不起作用,但这样做:
db
.collection("coll1")
.doc("doc1")
.collection("newCollectionName")
.doc("newDocName")
.set(data);
【讨论】:
【参考方案4】:你不能创建空集合,你必须在里面创建文档。 data model
function writeUserData(userId, name, email, imageUrl)
firebase.database().ref('users/' + userId).set(
username: name,
email: email,
profile_picture : imageUrl
);
可以通过这种方式获取用户id
var userId = firebase.auth().currentUser.uid;
对于云火库
db.doc(userId + '/data').set(
name: name,
email: email
);
firebase doc - read&write
【讨论】:
感谢您的回答,但我不想拥有“用户”收藏。集合的名称是 userId。 所以把路径改成这样:firebase.database().ref(userId)
您无法创建空集合,因此您需要创建一些文档,例如 db.collection(userId).doc("data").set( name: "username" )
以上是关于如何从 Javascript 在 Cloud Firestore 中创建集合?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google Cloud Endpoints Javascript 客户端中设置自定义标头?
如何从 Cloud Function 获取 Firebase 项目名称或 ID
如何从Java脚本安全地调用Google Cloud Run服务?
如何在 Parse cloud Javascript SDK 中创建此查询?
使用 JavaScript 从客户端浏览器上传到 Google Cloud Storage
如何在使用 javascript fetch 函数时设置公共 Google Cloud Storage 存储桶的 CORS 以避免错误?