我想在firestore中搜索以下数据: 收藏 - >文档 - > {{日期月:10,年:2017}}
var ref = db.collection(collection).doc(document)
ref.where('date.month', '==', 10).get().then(doc=>{
if (!doc.exists) {
console.log('No such document!');
} else {
console.log('Document data:', doc.data());
}
}).catch(err => {
console.log('Error getting document', err);
});
以上伪代码不起作用。有什么建议?
答案 0 :(得分:2)
看起来你正在查询文件:
var ref = db.collection(collection).doc(document)
您应该查询collection:
var ref = db.collection(collection)
您的查询将获取所有文档,这些文档在您的集合中的文档数组中符合“date.month == 10”条件。
此外,我认为您必须更改解析来自.get()的数据的方式,因为它将是一个数组:
.then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
console.log(doc.id, " => ", doc.data());
});
})
这个link也应该有助于理解。