这两种说法有什么区别:
app.get('/',someFunction);
app.route('/').get(someFunction);
Run Code Online (Sandbox Code Playgroud)
请注意,我不是在比较 router.get 和 app.get
这确实是一个重复的问题,但是没有答案。
问题是,当我通过发布请求使用 mongoose 保存新记录时,保存的所有内容如下:
{ "_id" : ObjectId("5d11590975c82f216eaa4712"), "__v" : 0 }
Run Code Online (Sandbox Code Playgroud)
我正在关注本教程,因此代码应该可以正常工作,但无论如何它是:
猫鼬模式:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let Todo = new Schema({
todo_description: {
type: String
},
todo_responsible: {
type: String
},
todo_priority: {
type: String
},
todo_completed: {
type: Boolean
}
});
module.exports = mongoose.model('Todo', Todo);
Run Code Online (Sandbox Code Playgroud)
编码:
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const todoRoutes = …Run Code Online (Sandbox Code Playgroud) 我正在尝试应用干净的架构,除其他外,我有一个数据源层和一个存储库层。
存储库使用一个接口与底层数据源(只有一个 sql db atm)交互,但是数据源接口是为 sql 数据库量身定制的,如下所示:
package datasource
import "database/sql"
type Source interface {
Open() error // Open the connection
Close() // Close the connection
Exec(string, ...interface{}) error // Execute a prepared query(e.g:insert)
Query(string, ...interface{}) (*sql.Rows, error) // Retrieve rows with a prepared query
}
Run Code Online (Sandbox Code Playgroud)
正如我想象稍后将引入其他数据源(如 nosql dbs 或外部 API...),我如何将它们全部分组在一个通用接口下,以便存储库不需要知道数据源的来源数据。
谢谢你。
PS:我知道有类似的问题,但那些从存储库的角度处理问题,我正在寻找数据源端的解决方案(例如:通用接口),因为我不想为每个单独的存储库来源。
backend ×2
express ×2
node.js ×2
go ×1
javascript ×1
mongodb ×1
mongoose ×1
repository ×1
server ×1