TypeError: subcollection.push is not a function
I'm using Cloud Firestore and making comment section
so that user can leave comment for post.
some code I found below:
export function saveComment(comment, id, uid) {
// database = firebase.database().ref('posts/');
return dispatch => database.child(id).child('comments').push({
content: comment.content, uid })
}
The code above using realtime database and I cannot use child() as Cloud Firestore.
Here's my code:
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)
};
};
Instead of child(), What kind of function, I need to use? in Cloud Firestore
javascript reactjs google-cloud-firestore
add a comment |
I'm using Cloud Firestore and making comment section
so that user can leave comment for post.
some code I found below:
export function saveComment(comment, id, uid) {
// database = firebase.database().ref('posts/');
return dispatch => database.child(id).child('comments').push({
content: comment.content, uid })
}
The code above using realtime database and I cannot use child() as Cloud Firestore.
Here's my code:
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)
};
};
Instead of child(), What kind of function, I need to use? in Cloud Firestore
javascript reactjs google-cloud-firestore
add a comment |
I'm using Cloud Firestore and making comment section
so that user can leave comment for post.
some code I found below:
export function saveComment(comment, id, uid) {
// database = firebase.database().ref('posts/');
return dispatch => database.child(id).child('comments').push({
content: comment.content, uid })
}
The code above using realtime database and I cannot use child() as Cloud Firestore.
Here's my code:
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)
};
};
Instead of child(), What kind of function, I need to use? in Cloud Firestore
javascript reactjs google-cloud-firestore
I'm using Cloud Firestore and making comment section
so that user can leave comment for post.
some code I found below:
export function saveComment(comment, id, uid) {
// database = firebase.database().ref('posts/');
return dispatch => database.child(id).child('comments').push({
content: comment.content, uid })
}
The code above using realtime database and I cannot use child() as Cloud Firestore.
Here's my code:
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)
};
};
Instead of child(), What kind of function, I need to use? in Cloud Firestore
javascript reactjs google-cloud-firestore
javascript reactjs google-cloud-firestore
edited Jan 1 at 2:12
footlessbird
asked Jan 1 at 1:41
footlessbirdfootlessbird
53
53
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The push()
method you found is from the Firebase Realtime Database API, while you are using Cloud Firestore. While both databases are part of Firebase, they're completely separate and each has their own API.
To add a new document to a Cloud Firestore collection, use the add
method on its CollectionReference
. So:
subcollection.add(comment)
See the Firestore documentation on adding a document.
Thank you for super fast reply so I changed it as add just like you mentioned and It seems like working now
– footlessbird
Jan 1 at 1:50
Good to hear. Be sure to study the Firestore documentation for a bit, since an hour or so spent there, will save a multitude of that time down the line.
– Frank van Puffelen
Jan 1 at 2:02
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53992549%2ftypeerror-subcollection-push-is-not-a-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The push()
method you found is from the Firebase Realtime Database API, while you are using Cloud Firestore. While both databases are part of Firebase, they're completely separate and each has their own API.
To add a new document to a Cloud Firestore collection, use the add
method on its CollectionReference
. So:
subcollection.add(comment)
See the Firestore documentation on adding a document.
Thank you for super fast reply so I changed it as add just like you mentioned and It seems like working now
– footlessbird
Jan 1 at 1:50
Good to hear. Be sure to study the Firestore documentation for a bit, since an hour or so spent there, will save a multitude of that time down the line.
– Frank van Puffelen
Jan 1 at 2:02
add a comment |
The push()
method you found is from the Firebase Realtime Database API, while you are using Cloud Firestore. While both databases are part of Firebase, they're completely separate and each has their own API.
To add a new document to a Cloud Firestore collection, use the add
method on its CollectionReference
. So:
subcollection.add(comment)
See the Firestore documentation on adding a document.
Thank you for super fast reply so I changed it as add just like you mentioned and It seems like working now
– footlessbird
Jan 1 at 1:50
Good to hear. Be sure to study the Firestore documentation for a bit, since an hour or so spent there, will save a multitude of that time down the line.
– Frank van Puffelen
Jan 1 at 2:02
add a comment |
The push()
method you found is from the Firebase Realtime Database API, while you are using Cloud Firestore. While both databases are part of Firebase, they're completely separate and each has their own API.
To add a new document to a Cloud Firestore collection, use the add
method on its CollectionReference
. So:
subcollection.add(comment)
See the Firestore documentation on adding a document.
The push()
method you found is from the Firebase Realtime Database API, while you are using Cloud Firestore. While both databases are part of Firebase, they're completely separate and each has their own API.
To add a new document to a Cloud Firestore collection, use the add
method on its CollectionReference
. So:
subcollection.add(comment)
See the Firestore documentation on adding a document.
answered Jan 1 at 1:44
Frank van PuffelenFrank van Puffelen
236k29382408
236k29382408
Thank you for super fast reply so I changed it as add just like you mentioned and It seems like working now
– footlessbird
Jan 1 at 1:50
Good to hear. Be sure to study the Firestore documentation for a bit, since an hour or so spent there, will save a multitude of that time down the line.
– Frank van Puffelen
Jan 1 at 2:02
add a comment |
Thank you for super fast reply so I changed it as add just like you mentioned and It seems like working now
– footlessbird
Jan 1 at 1:50
Good to hear. Be sure to study the Firestore documentation for a bit, since an hour or so spent there, will save a multitude of that time down the line.
– Frank van Puffelen
Jan 1 at 2:02
Thank you for super fast reply so I changed it as add just like you mentioned and It seems like working now
– footlessbird
Jan 1 at 1:50
Thank you for super fast reply so I changed it as add just like you mentioned and It seems like working now
– footlessbird
Jan 1 at 1:50
Good to hear. Be sure to study the Firestore documentation for a bit, since an hour or so spent there, will save a multitude of that time down the line.
– Frank van Puffelen
Jan 1 at 2:02
Good to hear. Be sure to study the Firestore documentation for a bit, since an hour or so spent there, will save a multitude of that time down the line.
– Frank van Puffelen
Jan 1 at 2:02
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53992549%2ftypeerror-subcollection-push-is-not-a-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown