我正在使用Cloud Firestore并进行评论部分 这样用户可以发表评论。
我在下面找到的一些代码:
export function saveComment(comment, id, uid) {
// database = firebase.database().ref('posts/');
return dispatch => database.child(id).child('comments').push({
content: comment.content, uid })
}
以上代码使用实时数据库,而我不能将child()用作Cloud Firestore。
这是我的代码:
postActions.js
export const addComment = (postId, comment) => {
return (dispatch, getState, { getFirebase, getFirestore }) => {
const firestore = getFirestore();
const firebase = getFirebase();
const profile = getState().firebase.profile;
const user = firebase.auth().currentUser;
const ref = firestore.doc("posts/"+postId);
const subcollection = ref.collection('comments')
subcollection.push(comment)
};
};
我需要使用哪种功能代替child()?在Cloud Firestore中
答案 0 :(得分:1)
在使用Cloud Firestore时,找到的push()
方法是从Firebase Realtime Database API中获得的。虽然这两个数据库都是Firebase的一部分,但它们是完全独立的,并且每个都有自己的API。
要将新文档添加到Cloud Firestore集合,请在其add
上使用CollectionReference
方法。所以:
subcollection.add(comment)