我可以在firestore中查询嵌套文档值吗?

时间:2017-10-11 00:46:40

标签: javascript google-cloud-firestore

我想在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);
});

以上伪代码不起作用。有什么建议?

1 个答案:

答案 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也应该有助于理解。