使用 Node、Express、Mongoose 和 MongoDB,我試圖向 MongoDB 發送一個 GET 請求,然后將資料作為物件用于 D3 圖形。我在一個單獨的js檔案中為圖形撰寫了代碼。我如何將資料發送到該檔案?
以下是我使用的基本模式:
var hikeSessionSchema = new mongoose.Schema( {
hike_name: {type: String, required: true}。
hike_date: {type: String, required: true}。
mileage: {type: Number, required: true}。
duration: {type: String, required: true}。
elevation_gain: {type: Number, required: true}。
城市: {型別: String, required: true}。
location: {type: String, required: true}。
notes: String。
})
var hikerSchema = new mongoose.Schema({
username: {type: String, required: true}。
日志。[hikeSessionSchema]
})
var HikeSession = mongoose.model('HikeSession', hikeSessionSchema)
var Hiker = mongoose.model('Hiker'/span>, hikerSchema)
所以我想通過ID找到用戶,然后得到一個用戶的HikeSessions陣列。而且我想把這些資料移到一個js doc中,做成一個d3圖表(我已經在CodePen上做了d3應用,但之前已經把它連接到Google Sheets上了)。
我認為GET請求應該是這樣的,但我不知道該如何處理result。路徑可能會發生變化:
app.get('/:id', (req, res) => /span> {
const id = req.params.id。
Hiker.findById(id)。
.then(result => {
//What goes here?
})
.catch(err => {
console.log(err)。
})
}
當我將資料匯入d3檔案后,我不確定在渲染時將遇到什么挑戰。
uj5u.com熱心網友回復:
步驟1:
在d3.js中定義并匯出你的d3_generator(input)函式:
const d3_generator=(input)=> {
//(你的邏輯)。
}
module.exports = { d3_generator };
步驟2
在你的控制器中從d3.js匯入d3_generator函式,并在你從MongoDB得到結果后使用它:
const { d3_generator } = require(' ;)
...
app.get('/:id', (req, res) =>/span> {
const id = req.params.id。
Hiker.findById(id)。
.then(result => {
let generated_d3 = d3_generator(result.log) 。
})
.catch(err => {
console.log(err)。
})
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/320669.html
標籤:
