当我调用我的网页时,我在浏览器中收到此错误消息
未捕获( promise 中)错误:FIRESTORE (4.10.1) 内部断言失败:未知关系:数组包含
我正在使用 Firestore。有趣的是,这在我的本地计算机和在线开发计算机上都有效,但在在线生产计算机(开发计算机的克隆)上我收到上面的错误。
Firestore 不久前推出了一种新的查询方式,可让您在数组中进行搜索(请参阅下面的代码 where("userIds", "array-contains", userId)
。
机器上的所有 npm 包都是相同的版本。
知道我可以在哪里寻找差异吗?
代码
import "firebase/firestore"
import firebase from "firebase/app"
export function fetch({ userId }) {
const db = firebase.firestore()
return db.collection("/collection")
.where("userIds", "array-contains", userId)
.get()
.then(querySnap => {
return querySnap.docs
})
.catch(err => {
console.error(err)
throw err
})
}
最佳答案
array-contains
运算符在 version 6.0.0 of the Node.js SDK 中引入。根据错误消息,您的生产服务器运行的是 4.10.1,该版本尚不支持数组运算符。要解决此问题,您需要将服务器更新到 Admin SDK 版本 6.0.0 或更高版本。
关于node.js - 未捕获( promise 中)错误 : FIRESTORE (4. 10.1)内部断言失败:未知关系:数组包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55573497/