'JSFCBTF͜͜࠷ۙͷ৽ػೳ8FC 0TBLBدΓFJUG Osaka Meetup #3 2019-05-26@TanakaMidnight
View Slide
େࡕϦʔδϣϯ͕։ઃ$MPVE'VODUJPOT/PEFWαϙʔτ$MPVE'VODUJPOTεέδϡʔϧػೳ͕Ճ)PTUJOHXFCBQQαϒυϝΠϯ͕༻Մೳʹ'JSFTUPSFDPMMFDUJPOHSPVQRVFSZ͕Ճ1FSGPSNBODF.POJUPSJOH8FCରԠ
ҙ͜Ε͔Βൃද͢Δ༰ɺ࣌ͷͷͰ͢ɻࠓޙͷػೳՃରԠʹΑͬͯ༰͕ҟͳΔ߹͕͋Γ·͢ɻྃ͝ঝ͍ͩ͘͞ɻ
େࡕϦʔδϣϯ͕։ઃIUUQTDMPVEKBHPPHMFCMPHDPN(PPHMF$MPVEMBVODIFTOFX0TBLBSFHJPOUPTVQQPSUHSPXJOHDVTUPNFSCBTFJO+BQBOIUNM
ͨͩ͠ɺେࡕϦʔδϣϯ BTJBOPSUIFBTUͳ͕ͥ·ͩબͳ͍
େࡕϦʔδϣϯͷҙ
େࡕϦʔδϣϯͷҙ IUUQTDMPVEHPPHMFDPNBCPVUMPDBUJPOT$MPVE'VODUJPOT͕େࡕϦʔδϣϯʹແ͍࣌
IUUQTDMPVEHPPHMFDPNBCPVUMPDBUJPOT'JSFTUPSFͷτϦΨʔͱͯ͠$MPVE'VODUJPOTΛ࣮ߦ͢Δ߹ʹϨΠςϯγ͕େ͖͍Մೳੑ͕͋Δɻ
IUUQTDMPVEHPPHMFDPNBCPVUMPDBUJPOT౦ژϦʔδϣϯͱൺͯɺେࡕϦʔδϣϯͷ΄͏͕'JSFTUPSFͷར༻ྉۚͪΐͬͱߴ͍େࡕϦʔδϣϯͷҙ
'JSFTUPSFྉۚൺֱ ౦ژେࡕIUUQTDMPVEHPPHMFDPNBCPVUMPDBUJPOT
৽ػೳհ
$MPVE'VODUJPOT/PEFKTWΛαϙʔτIUUQTpSFCBTFHPPHMFDPNEPDTGVODUJPOTTDIFEVMFGVODUJPOT
/PEFKTWඇਪʹมߋɻҎ߱σϓϩΠͰ͖ͳ͘ͳΓɺҎ͍߱ଓ͚ΔͱແޮʹͳΔՄೳੑ͕͋Γ·͢ɻ
$MPVE'VODUJPOTεέδϡʔϧػೳ͕ՃIUUQTpSFCBTFHPPHMFDPNEPDTGVODUJPOTTDIFEVMFGVODUJPOT4DIFEVMFGVODUJPOT
#MB[Fϓϥϯʹ͢Δඞཁ͋Γɻεέδϡʔϧ·ͰແྉɻҎ߱εέδϡʔϧ͝ͱʹඞཁɻ4DIFEVMFGVODUJPOT
4DIFEVMFGVODUJPOT
)PTUJOHXFCBQQαϒυϝΠϯ͕༻ՄೳʹIUUQTpSFCBTFHPPHMFDPNEPDTIPTUJOH [email protected]@[email protected]
'JSFTUPSF$PMMFDUJPOHSPVQRVFSZ͕Ճࠓ·Ͱ୯Ұͷ$PMMFDUJPOͰ͔͠2VFSZΛ࣮ߦग़དྷͳ͔ͬͨɻࠓճͷՃͰ$PMMFDUJPO(SPVQ୯ҐͰ2VFSZΛ࣮ߦͰ͖ΔΑ͏ʹͳͬͨɻ
$PMMFDUJPOHSPVQRVFSJFTྫ"MCVN 5SBDL/$%ΞϧόϜͷཧΞϓϦ5JUMF3FMFBTF%BUF1SJDF+"/5JUMF"SUJTU-ZSJDJTU$PNQPTFS5JNF
"MCVN5SBDL5SBDL5SBDL"MCVN5SBDL5SBDL5SBDL$PMMFDUJPO 4VC$PMMFDUJPO
࡞ࢺՈ -ZSJDJTU࡞ۂՈ $PNQPTFSͰݕࡧ͍ͨ͠
Ҏલ ࢦఆ͞Εͨ"MCVNͷ࡞ۂՈ࡞ࢺՈΛݕࡧ શͯͷ"MCVN࡞ۂՈ࡞ࢺՈΛݕࡧ࡞ࢺՈ -ZSJDJTU࡞ۂՈ $PNQPTFSͰݕࡧ͍ͨ͠
"MCVN5SBDL5SBDL5SBDL"MCVN5SBDL5SBDL5SBDL࡞ࢺՈ -ZSJDJTU࡞ۂՈ $PNQPTFSͰݕࡧ͍ͨ͠ˢԣஅݕࡧ͕Մೳʹ
const tracks = await db.collectionGroup(‘tracks’).where('composer', '==', '২দ৳').get() tracks.forEach(function (track) {console.log(track.id, ' => ', track.data())})4BNQMF$PEF
1FSGPSNBODF.POJUPSJOHGPSXFC
IUUQTXXXZPVUVCFDPNXBUDI WYR5&.L;$1T
ࢀߟϦϯΫɾ'JSFCBTF%PDVNFOUBUJPOIUUQTpSFCBTFHPPHMFDPNEPDTɾ(PPHMF*0'JSFCBTF:PVUVCF1MBZMJTUIUUQTXXXZPVUVCFDPNQMBZMJTU MJTU1-M,[;&T:-MP-SG1ETG'-&U08IFP0ɾpSFCBTFUPPMTSFMFBTFTIUUQTHJUIVCDPNpSFCBTFpSFCBTFUPPMTSFMFBTFT