こんにちわ、CROSSER開発者です
今回はFirestoreにあるmapフィールドにある値で検索する方法を共有したいと思います
どなたかの参考になれば嬉しいです
Firestore Documentの例
例えばこんなドキュメントがあり、userAが2021/11/13よりも前のデータがあるmapのドキュメントのみを取得したい時にこの記事は参考になると思います。
user / user1 / like{'userA':2021/11/12, 'userB':2021/11/13,'userC':2022/1/1}
user / user2 / like{'userA':2022/1/2}
やり方
admin.firestore().collection('user').where('like.userA', <=, 2021/11/12(Timestamp型)).get();
これでuser1のドキュメントが取得できます
補足
userAを可変にしたい時はこれでいけます
admin.firestore().collection('user').where(`like.${userName}`, <=, 2021/11/12(Timestamp型)).get();