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

10,730

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.

Share:
10,730

Related videos on Youtube

Prashin Jeevaganth
Author by

Prashin Jeevaganth

Updated on June 04, 2022

Comments

  • Prashin Jeevaganth
    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 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?

  • Prashin Jeevaganth
    Prashin Jeevaganth almost 4 years
    I'm still getting the error after making the change and deploying
  • Sagar Davara
    Sagar Davara about 2 years
    thanks you saved my lots of time. just silly mistake to forgot to add String.