我正在创建我的第一个云函数,它在创建后将子集合中的文档简单地复制journal到子集合中。activites我希望复制的文档具有相同的postId. 功能日志显示Error: Value for argument "documentPath" is not a valid resource path. Path must be a non-empty string.at Object.validateResourcePath (/workspace/node_modules/@google-cloud/firestore/build/src/path.js:406:15)at CollectionReference.doc (/workspace/node_modules/@google-cloud/firestore/build/src/reference.js:1982:20)at exports.onCreateJournal.functions.firestore.document.onCreate (/workspace/index.js:21:8)at cloudFunction (/workspace/node_modules/firebase-functions/lib/cloud-functions.js:134:23)at Promise.resolve.then (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:198:28)at process._tickCallback (internal/process/next_tick.js:6这是云函数exports.onCreateJournal = functions.firestore .document("/users/{userId}/journal/{docID}") .onCreate(async (snapshot, context) => { const data = snapshot.data(); const userId = context.params.userId; const postId = context.params.postId; admin .firestore() .collection("users") .doc(userId) .collection("activities") .doc(postId) .set(data); });或者我应该用 Firestore 模拟器调试它吗?
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
错误信息:
错误:参数“documentPath”的值不是有效的资源路径。路径必须是非空字符串。
建议您将一个空字符串或其他一些无效值(例如未定义)传递给您对doc()
. 我的猜测是第二个。
您的通配符路径中包含“docID”,但您正尝试使用不同的名称“postId”访问它。您需要为两者使用相同的名称。也许您打算使用这样的通配符:
exports.onCreateJournal = functions.firestore .document("/users/{userId}/journal/{postId}")
请注意,我将“docID”替换为“postId”以匹配您的代码。
添加回答
举报
0/150
提交
取消