Estoy actualizando un documento en firebase cuando el usuario ingresa un comentario. El código para el mismo es:
const docRef=collection(db,"posts",post.id); console.log(docRef); updateDoc(docRef,{ user:localStorage.getItem('Name'), title: post.title, comment:temppost , upVotesCount: 0, downVotesCount: 0, createdAt: post.createdAt, updatedAt: date.toUTCString(), isCommentVisible:false });Pero estoy recibiendo este error:
Uncaught (in promise) FirebaseError: Invalid collection reference. Collection references must have an odd number of segments, but posts/PQAvoGjUeX8aPVVZxMNC has 2.No he usado ninguna subcoleccion aquí.
Necesita una DocumentReference para actualizar un solo documento que puede crear usando doc() . La collection() se utiliza para crear una CollectionReference :
// use doc() instead of collection() const docRef = doc(db,"posts",post.id);Consulte también: Firestore: ¿Cuál es el patrón para agregar nuevos datos en Web v9?
Está intentando pasar un documento en una función de colección. (db,"posts") es cómo se refiere a una colección y (db,"posts",post.id) es cómo se refiere a un documento. Así que usa uno de estos:
const docRef = doc(db,"posts",post.id); // 3 arguments for a document ------ const postsRef = collection(db,"posts"); // 2 arguments for a collection const docRef = (postsRef,post.id); // in essence 2+1 arguments for a document