const express = require('express');
const app = express();
const mongoose =require('mongoose');
// 參數一爲數據庫地址,每一個數據庫都是一個服務器,因此是一個網絡地址。
// 本地可使用127.0.0.1或者localhost。
// 地址標準爲 mongodb:// Ip地址 :端口號(默認爲27017)/數據庫名稱(此處能夠自定義,mongodb
// 會自動建立對應表)
// 注意第二個參數是新版本要求的。
// 數據庫中,對應的東西須要分類存放,好比用戶放在用戶類中
// 在 mongdodb中,這個類叫作集合,一個集合中能夠放不少行數據
// 相似 excel。
// 下面假設有一個產品表。對應 創建一個模型。表-模型-集合,能夠同等看待。在mongodb中叫集合。
// 慣例,這個模型名字都是大寫
// 參數一是模型名稱,參數二是表結構。
// 參數二定義了表中的字段/屬性,傳遞一個對象
const Product =mongoose.model('Product',new mongoose.Schema({
title:Number,
name:String
}));
// 測試用。
// Product.insertMany(
// [
// {title:1,name:'product1'},
// {title:2,name:'product2'},
// {title:3,name:'product3'}
// ]
// );
app.use(require('cors')())
app.use('/',express.static('public'))
app.get('/about',function(req,res){
res.send([
{page:'about'}
])
})
// 若是下面用了await,那麼上面就要使用async
// 表示他是一個異步函數。 這是成對出現的。
app.get('/products',async function (req,res) {
// 每一次 數據庫查詢都是從Node數據庫 的異步操做
// 因此要await
res.send(await Product.find())
})
app.listen(3000,()=>{
console.log("App is listening on port: 3000!")
})