我不是JS / NodeJS方面的专家,并且我在使用Express-Mongoose方面有一些经验。
现在,我更喜欢MVC方法,这意味着创建架构并导入它。
由于Firebase数据库也恰好不是sql数据库,所以我决定完全按照猫鼬的方式做,但不幸的是我听不懂。
至少可以说,我已经创建了index.js,这是我应用程序的入口。
根据firebase文档,我正在像这样初始化它( index.js )
-1
。
问题:我们可以像以前使用猫鼬一样在firebase db中创建模式
即这是在NodeJS( models / user.js )
中创建猫鼬模式的示例const admin = require("firebase-admin");
//Firbade config file
const firebaseConfig = require("./functions-config.json")
admin.initializeApp({
credential: admin.credential.cert(firebaseConfig),
databaseURL: "https://functions-firebase-43a59.firebaseio.com"
})
const db = admin.firestore()
答案 0 :(得分:3)
我们可以像以前在猫鼬中创建一样在firebase db中创建架构吗?
Firebase带有两个数据库:实时数据库和Cloud Firestore。它们都是无模式NoSQL数据库。但是在两种情况下,您都可以使用数据库的服务器端安全规则来控制可以向其写入哪种类型的数据。
对于实时数据库,请参见documentation和本classic video以获得简介。您将特别想在这里查看.validate
规则。
对于Cloud Firestore,请参阅documentation和episode 6 in the Getting to know Cloud Firestore video series。
答案 1 :(得分:0)
您不需要预先创建方案。
您可以像这样设置数据:
firebase.database()
.ref('users')
.set({
email,
})
答案 2 :(得分:0)
是的,您可以使用class
在节点js中为firestore创建数据库模式。有一些第三方库可用于Firestore ORM(对象关系映射器):
答案 3 :(得分:0)
如果您可以坚持使用相对扁平的数据结构,那么我认为,将架构引入Firestore的最佳解决方案是使用单独的集合将架构存储为docs。然后,您可以使用云功能来验证数据并写入数据。这种方法的最大优点是您可以在运行时创建和修改架构。总体而言,这需要做更多的工作,但可以节省许多麻烦的长时间热疗。我已经使用这种方法制作了一个CMS,与MongoDB相比,它运作良好且具有很高的成本效益。