简介
@horacehylee/firebase-db
是一个可以帮助开发者在 Web 前端应用中快速集成 Firebase 数据库的 npm 包。本文将详细介绍该包的使用方法以及注意事项。
安装
npm install @horacehylee/firebase-db --save
使用
初始化
首先,需要在 Firebase 控制台中创建一个项目,并获取到该项目的配置信息。然后,可以使用以下方式初始化 firebase-db
:
-- -------------------- ---- ------- ------ - ---------- - ---- --------------------------- ------------ ------ -------------- ------- --------------- ------------ -------------------- ---------- ------------------ ------------------ --------------------------- -------------- ---------------------- ----------- ------------------- ---
获取 Firestore 实例
初始化之后,就可以通过 getFirestore()
方法获取 Firestore 实例:
import { getFirestore } from "@horacehylee/firebase-db"; const db = getFirestore();
添加数据
使用 add()
方法可以向指定的集合中添加一条记录:
db.collection("users").add({ name: "Horace", age: 18, });
也可以使用 set()
方法添加一条记录,需要自己指定记录的 ID:
db.collection("users").doc("my-id").set({ name: "Horace", age: 18, });
查询数据
查询所有记录
使用 get()
方法可以查询一个集合中的所有记录:
db.collection("users") .get() .then((snapshot) => { snapshot.forEach((doc) => { console.log(doc.id, "=>", doc.data()); }); });
根据条件查询
使用 where()
方法可以根据条件查询记录:
db.collection("users") .where("age", ">=", 18) .get() .then((snapshot) => { snapshot.forEach((doc) => { console.log(doc.id, "=>", doc.data()); }); });
更新数据
使用 update()
方法更新一条记录:
-- -------------------- ---- ------- ---------------------- ------------- --------- ---- -- -- -------- -- - --------------------- ------------ ----------- -- -------------- -- - -------------------- -------- --------- -- ------- ---
删除数据
使用 delete()
方法删除一条记录:
-- -------------------- ---- ------- ---------------------- ------------- --------- -------- -- - --------------------- ------------ ----------- -- -------------- -- - -------------------- -------- --------- -- ------- ---
注意事项
- 请确保在 Firebase 控制台中已经开通了 Firestore 服务。
- 请在初始化之前添加 Firebase SDK 到项目中。
- 请确保你的 Firebase 配置信息正确填写。
总结
@horacehylee/firebase-db
是一个非常便利的 npm 包,可以帮助开发者快速集成 Firebase 数据库,并且 API 简洁易用。希望本文介绍的内容能对你有所帮助。示例代码可以参考 GitHub。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056ea181e8991b448e76a6