gpt4 book ai didi

arrays - Firestore 无法使用 FieldValue.arrayUnion() 将项目数组合并到另一个数组

转载 作者:行者123 更新时间:2023-12-05 08:53:53 30 4
gpt4 key购买 nike

我有一个云函数,它会在特定事件发生时调用。在函数中,我将获得一个字符串数组,例如 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)

但是如果我把代码改成这样names: admin.firestore.FieldValue.arrayUnion("foo","bar","baz") 它有效,但在我的函数中,我收到一个不是上述格式的数组,所以它失败了

这就是我想要的。我在文档中有一个数组字段,我们称之为名称。当函数被触发时,我从中获取数组。我想将这个数组添加到现有的名称数组中

在添加数组之前 names : ["test","test2"]

添加数组 names 之后:["test","test2","foo","bar","baz"]

如何解决?我正在使用 typescript 3.0.1

最佳答案

arrayUnion 函数在定义时有一个数组值,你需要将你的数组添加到这个数组值,在 javascript 或类型上你可以使用 ...(NameArray) 来联合。

items : any[] = [1,2,4,5,67,8];
admin.firestore.FieldValue.arrayUnion(...items);

关于arrays - Firestore 无法使用 FieldValue.arrayUnion() 将项目数组合并到另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52101685/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com