如何从 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 中创建集合?的主要内容,如果未能解决你的问题,请参考以下文章