Ahm*_*ged 2 arrays firebase typescript google-cloud-functions google-cloud-firestore
我有一个云函数,当某个事件发生时会调用它。在该函数中,我将获得一个字符串数组,例如let h:string[] = ["foo","bar","baz"]与此类似的内容,当我尝试像这样更新文档中的数组字段时,
names: admin.firestore.FieldValue.arrayUnion(h)它未能做到这一点并在控制台中抛出该错误
Error: 3 INVALID_ARGUMENT: Cannot convert an array value in an array value.
at Object.exports.createStatusError (/srv/node_modules/grpc/src/common.js:87:15)
at Object.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:1188:28)
at InterceptingListener._callNext (/srv/node_modules/grpc/src/client_interceptors.js:564:42)
at InterceptingListener.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:614:8)
at callback (/srv/node_modules/grpc/src/client_interceptors.js:841:24)
Run Code Online (Sandbox Code Playgroud)
但是,如果我将代码更改为此
names: admin.firestore.FieldValue.arrayUnion("foo","bar","baz")它可以工作,但在我的函数中,我收到一个不是上述格式的数组,因此它失败
这就是我想要的。我在文档中有一个数组字段,让我们称之为名称。当函数被触发并从中获取数组时。我想将此数组添加到现有的名称数组中
添加数组之前names : ["test","test2"]
添加数组后names : ["test","test2","foo","bar","baz"]
如何解决这个问题?我正在使用打字稿 3.0.1
arrayUnion 函数在定义时有一个数组值,您需要将数组添加到该数组值,在 javascript 或类型上您可以使用 ...(NameArray) 进行联合。
items : any[] = [1,2,4,5,67,8];
admin.firestore.FieldValue.arrayUnion(...items);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2399 次 |
| 最近记录: |