npm install mongoose
const mongoose = require('mongoose')
;(function())
// 下面**相當於操作圖形介面把乙個建立好的資料庫(test)開啟連線
mongoose.connection.once('open',(err)=>else
})})()
const mongoose = require('mongoose')
module.exports = new promise((resolve,reject)=>)
mongoose.connection.once('open',(err)=>else
})})
常用允許的模式型別(type):
type
型別string
字串number
數字date
時間格式
buffer
二進位制緩衝區
boolean
布林mixed
混合值objectid
物件array
陣列decimal
小數map
經緯度格式
mixed : 混合型別,顧名思義,就是說裡面可以放置任意型別的資料schema type模式選項分類:
required : 布林或函式,如果真正的新增乙個[需要驗證器]為這個屬性default : 任何或函式,設定乙個預設值的路徑。如果該值是乙個函式,函式的返回值作為預設值。
select : 布林,指定預設值[**]查詢
alidate : 新增乙個函式[驗證器函式]為這個屬性
get : 函式,定義了該屬性使用乙個定製的getter
set : 函式,定義了該屬性使用乙個定製的setter
alias : 字串,mongoose> = 4.10.0。定義了乙個[virtual]的名字拿到/設定這個path。
index : 布林,是否要定義乙個[指數]在這個屬性。unique : 布林,是否要定義乙個[唯一索引]在這個屬性。
sparse : 布林,是否要定義乙個[稀疏索引]在這個屬性。
lowercase : 布林,是否總是為這個值呼叫.tolowercase()方法uppercase : 布林,是否總是為這個值呼叫.touppercase()方法
trim : 布林,是否總是為這個值呼叫.trim()方法
match : 建立乙個正規表示式[驗證器]檢查如果匹配給定的正規表示式的值
enum : 建立乙個陣列[驗證器]檢查值是否在給定的陣列。
minlength : number型別,建立乙個[驗證器]檢查值長度是不是少於給定的數字
maxlength : number型別,建立乙個[驗證器]檢查值長度不大於給定的數字
min:number型別,建立乙個[驗證器]檢查如果該值大於或等於給定的最小值。max:number型別,建立乙個[驗證器]檢查值是否小於或等於給定的最大值。
min:date型別schema 模板初始化示例( 假設建立此檔案為 theaters.js ):max:date型別
const mongoose = require('mongoose')
const schema = mongoose.schema
const theaterschema = new schema(
})//建立模型物件
const theaters = mongoose.model('theaters',theaterschema)//分別是模型物件名稱和約束物件
module.exports = theaters
schema 使用模板**示例:
使用資料庫資料,填充資料
const theaters = require('./theaters.js')
module.exports = async (data) =>)
console.log('資料儲存成功')
}}
mongoose使用簡記
mongodb中集合相當於表,常用指令 mongo 進入資料庫 use yourdatabase 來選擇你的資料集,這個跟關係型中的一樣 show collections 來檢視你資料集中的表,collection就是關係型中的表 db.createcollection name,option na...
node 關於 mongoose 使用
npm i mongoosevar mongoose require mongoose mongoose.set usecreateindex true 新版本對索引的處理方式有所變化,無此 會有警告 mongoose.connect mongodb localhost test mongoose....
在mongoose中使用bluebird
如果我們需要在mongoose中使用promise方法,一般會想到mongoose自帶的mpromise,但是這種方法,已經不再被建議了,雖然目前一般情況下還不影響使用,但如果能夠使用一種穩妥的方式最好不過。替代方法有很多,例如require q koayield等,這裡我介紹一種使用bluebir...