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

Can I query a nested document value in firestore?

我想在 firestore 中搜索以下数据: Collection->文档->{日期{月: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);
});

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

您似乎在查询文档:

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应该也有助于理解这个想法。