我在集合todos
中有大约30条记录,其中几乎25条包含单词work
。现在,当我尝试使用array-contains
时,它什么也不会返回。
这是我的查询代码:
firebase.firestore().collection("todos")
.where('Workdesc', 'array-contains', 'work')
.get()
.then(querySnapshot => {
querySnapshot.forEach(function(doc) {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " ===> ", doc.data());
});
});
这是我的Firestore屏幕截图:
查询似乎按照文档进行,但是为什么不返回任何内容?
答案 0 :(得分:1)
您没有得到任何结果,因为您数据库中的Workdesc
属性的类型为String,而数组的类型为 not 。看到引号了吗?如果您需要数组类型的属性,则应采用这种方式。请参阅followers
属性,它是一个数组。尝试以相同的方式保存其他属性。