Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Value for argument "documentPath" is not a valid resource path. Path must be a non-empty string

I want to write a cloud function that listens to whether a new document is created in the following subcollection of some document of users. However, the user document upon previous creation may not have a following subcollection.

In other words, I want a cloud that responds to db.collection(“users”).doc(“doc_id1”).collection(“following”).doc(“doc_id2”).set(new_document) , and I have written the cloud function to be

exports.create_friend_request_onCreate = functions.firestore
  .document("users/{user_id}/{following}/{following_id}")
  .onCreate(f2);

And implementation of f2 is written in some other file

exports.f2 = async function(snapshot) {
 //some code
}

However upon creation the document in the subcollection, I get the following error

Error: Value for argument "documentPath" is not a valid resource path. Path must be a non-empty string.

Can someone explain to me what is wrong here?

like image 450
Prashin Jeevaganth Avatar asked Feb 24 '26 04:02

Prashin Jeevaganth


1 Answers

I had a same problem and this reason of the problem is doc path must be a string. collection("questions").doc(21) is wrong. collection("questions").doc("21") is work.

-you have to make sure the variables are strings .You can use "users/{String(user_id)}/{following}/{String(following_id)}"

like image 66
mehmet ilhan Avatar answered Feb 25 '26 21:02

mehmet ilhan