Value for argument "documentPath" is not a valid resource path. Path must be a non-empty string
Solution 1
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)}"
Solution 2
The correct path should have been 'users/{user_id}/following/{following_id}'
, apparently the double quotes cannot be used as paths.
Related videos on Youtube
Prashin Jeevaganth
Updated on June 04, 2022Comments
-
Prashin Jeevaganth almost 2 years
I want to write a cloud function that listens to whether a new document is created in the
following
subcollection of some document ofusers
. However, the user document upon previous creation may not have afollowing
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 beexports.create_friend_request_onCreate = functions.firestore .document("users/{user_id}/{following}/{following_id}") .onCreate(f2);
And implementation of
f2
is written in some other fileexports.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?
-
Prashin Jeevaganth almost 4 yearsI'm still getting the error after making the change and deploying
-
Sagar Davara about 2 yearsthanks you saved my lots of time. just silly mistake to forgot to add String.