我正在使用node-red-contrib-cloud-firestore将数据添加到我的Firestore集合中。一切顺利,直到我决定在数据中添加嵌套数组:
{ firstname: 'John',
contact:
{ name: 'Jane Doe',
company: 'Inc',
mail: 'jdoe@inc.com' },
name: 'Doe',
email: 'johndoe@inc.com' }
module中的代码可用
this.firestore.collection(col).add(payload)
我仔细检查了负载,所有内容都与上面的内容完全一样,但是显示错误
Error: Value for argument "data" is not a valid Firestore document. Invalid use of type "object" as a Firestore argument (found in field contact).
我是否需要了解有关嵌套对象的窍门?
谢谢
答案 0 :(得分:2)
实际上,问题出在虚拟机中运行的NodeRED函数并复制所有原型导致严格的相等性失败。
解决方法是在NodeRED函数外部创建对象。 NodeRED负责人here
提供了更多详细信息答案 1 :(得分:0)
如果您尝试添加嵌套地图而不是嵌套数组,则Firestore支持。
确定设置文档时,您确定“联系人”字段不是let stream = OutputStream(toBuffer: UnsafeMutablePointer(mutating: someString), capacity: someString.data(using: .utf8)!.count)
吗?