{"title":"Bun\u304b\u3089Firestore\u306bDocument\u3092\u8ffd\u52a0\u3057\u3088\u3046\u3068\u601d\u3063\u305f\u3089\u3046\u307e\u304f\u52d5\u304b\u306a\u304b\u3063\u305f","version":"1.0","categories":["GCP","\u30d0\u30c3\u30af\u30a8\u30f3\u30c9","Node.js"],"height":"190","blog_url":"https://tm-progapp.hatenablog.com/","width":"100%","author_name":"tansantktk","blog_title":"\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u306f\u3057\u304c\u304d","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftm-progapp.hatenablog.com%2Fentry%2F2023%2F12%2F08%2F011301\" title=\"Bun\u304b\u3089Firestore\u306bDocument\u3092\u8ffd\u52a0\u3057\u3088\u3046\u3068\u601d\u3063\u305f\u3089\u3046\u307e\u304f\u52d5\u304b\u306a\u304b\u3063\u305f - \u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u306f\u3057\u304c\u304d\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_url":"https://blog.hatena.ne.jp/tansantktk/","type":"rich","url":"https://tm-progapp.hatenablog.com/entry/2023/12/08/011301","provider_url":"https://hatena.blog","published":"2023-12-08 01:13:01","provider_name":"Hatena Blog","image_url":null,"description":"\u3061\u3087\u3063\u3068\u30cf\u30de\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u30e1\u30e2\u304c\u3066\u3089\u306b\u66f8\u304d\u307e\u3059\u3002\u3002 \u3084\u308a\u305f\u304b\u3063\u305f\u3053\u3068 \u4ee5\u4e0b\u306e\u3088\u3046\u306aFirestore\u306e\u3042\u308bCollection\u306bDocument\u3092\u8ffd\u52a0\u3059\u308b\u3088\u3046\u306a\u51e6\u7406\u3092\u66f8\u3044\u3066\u307e\u3057\u305f\u3002 import { cert, initializeApp } from \"firebase-admin/app\"; import { getFirestore } from \"firebase-admin/firestore\"; ... const firebaseInit = () => { const app = initializeApp({ credential: cert(process.env.GOO\u2026"}