前提・実現したいこと
初めて掲示板を利用させていただくので失礼があったら申し訳ありません。
表題の件につきまして、firestoreを利用して勤怠システムを作成したいと思っています。
getを使ってフィールドの値を取得するのですが、その際whereで絞り込みをしたいと思っています。
色々と調べ、公式の通り(そのつもりなのですが、初心者のため間違っているのかもしれません)書いたつもりなのですが、コンソールでエラーは出ないのにwhereの部分が無視(?)されてしまいます。
なぜこの現象が起きるのか、どうしたら解消するのかを教えて頂けたら幸いです。
※質問の仕方のマナーもわからないので何か不備があれば併せて教えて頂けたらと思います。
発生している問題・エラーメッセージ
コンソールにエラーメッセージは出ません。 where句の中の最後('test')の部分は出勤時のフィールドに試験的に書き込んだ文字列です。
該当のソースコード
js
1<script> 2 3 document.getElementById("outTimeClk").onclick = function() { 4 5 firebase.firestore().collection(userId).where('outTime','==','test').get().then((snapShot)=> { 6 if (snapShot.exists) { 7 alert("退勤しています") 8 }else{ 9
試したこと
collection(userId).doc(dateToday).collection(dateToday).where('outTime','==','test').get~
などwhereの前を色々と変えてみましたがダメでした。
試したことが的外れだったら申し訳ありません。
補足情報(FW/ツールのバージョンなど)
dateTodayは本日の日付を定義してあります。
outTimeはフィールド名です。
collection:userId
doc:dateToday
イメージしているのはuserIdコレクションのdateTodayドキュメント配下にあるoutTimeフィールドをwhereを使って値の有無を判断し、存在するなら「退勤しています」と表示させたいです。
あなたの回答
tips
プレビュー