例若有這樣一個數據庫:
1 張三 男 24歲
2 李四 男 19歲
3 張三 女 22歲前端
若是你用findOne({name:」張三」})查詢,返回的只會是第一個張三:
1 張三 男 24歲mongodb
若是用find({name:」張三」})查詢的話,就會返回兩個張三了:
1 張三 男 24歲
3 張三 女 22歲數據庫
第二個區別是,findOne()返回的是一個對象,而find()返回的是一個數組,數組裏面裝着對象。api
二者看起來好像差很少,但findOne()返回的值前端只須要用data.name就能獲取到,但find()返回的值前端要用data[i].name來獲取。數組
mongoose中的三個概念服務器
Schema: 數據庫的模板,數據的構成以及規則,對不一樣的數據模型進行建模,全部數據類都要經過這個模板來造成真正的數據,而後存貯到數據庫裏面restful
Model: 具備操做數據的能力,crudmongoose
Entity:數據實例rest
關於數據查詢語言: GraphQL restful對象
GraphQL: 因爲前端數據需求老是變化的,graphQL能夠將多個接口合併成一個,根據前端的需求給數據,數據調用前端決定
GraphQL語法:
query {
garden:{ // 接口名稱
name:"huaer"
}
gardener:{
name:"zhangsan"
}
flower(number:"hauer",id:111){
issuse(number:111){
id:222
}
}
}