【发布时间】:2019-06-03 06:18:26
【问题描述】:
我不是 JS/NodeJS 方面的专家,我有一些使用 express-mongoose 的经验。
现在,我更喜欢 MVC 方法,即创建模式并导入它。
由于 Firebase 数据库也恰好不是 sql 数据库,所以我决定完全按照我在 mongoose 中应该做的事情做,但不幸的是我无法理解。
至少可以说,我创建了 index.js,这是我的应用程序入口点。
根据 firebase 文档,我正在像这样初始化它 (index.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()
。
问题:我们可以像以前在 mongoose 中创建的那样在 firebase db 中创建模式吗
即这是在 NodeJS (models/user.js) 中创建猫鼬模式的示例
const mongoose = require('mongoose')
const userSchema = new mongoose.Schema({
fullName: String,
email: String,
image: String,
gender: String,
profile_id: String,
createdAt: {type: Date, default: Date.now}
})
module.exports = mongoose.model('User', userSchema);
【问题讨论】:
-
我在下面回答了 Q1。请为每个...问题打开单独的问题。
-
一旦你去无模式你就不会回头,俗话说。 NoSQL 的重点是无模式,猫鼬在已经优雅的驱动程序面前只是一个臃肿的关系拐杖。它还鼓励您保持关系型思维模式,这种思维模式并不总是有助于在 nosql 世界 imo 中获得最佳性能 :)
-
@Dominic 当您分享您的评论时,我只是在输入另外两个问题。但是为什么无模式优于模式呢?坦率地说,我真的在思考为什么 firebase 是无模式的?
-
弗兰克,非常感谢您的回答。这是第二个问题stackoverflow.com/questions/54095750/… 另外,我已经编辑了当前问题并删除了其他两个问题:)
标签: javascript node.js firebase mongoose