Type Script와 mongoose로 싸운 일기 #1 모형의 독자적인 정의
6456 단어 mongooseTypeScript
미리 준비하다
최근에는 Type Script의 세계로 진출했습니다.노드를 만져보지 않아 다양한 것을 배우고 있지만, 현재의 맹수 몬고우스와의 전투가 힘들어 메모로 쓰고 있다.
타입 스크립트를 배우다 보니 몬고우스나 타입 스크립트가 지루했나 봐요.
어쨌든 사용자 모델을 먼저 해볼게요.
d.ts 읽기 등은 생략되었습니다.import mongoose = require('mongoose');
//スキーマ作る
var userSchema:mongoose.Schema = new mongoose.Schema({name:String, age:Number});
//モデル作る
var userModel:mongoose.Model<mongoose.Document> = mongoose.model('User', userSchema);
//モデルのインスタンス作る
var user:mongoose.Document = new userModel({name:'orzngo', age:17});
주의해야 할 점은 몬고우스다.모델 업데이트의 결과는 T입니다.잘 모르겠어요. 고민이에요.
그러나 이렇게 되면 Doocument형은 직접 반환하는 형식이 되기 때문에userSchaema가 정의한name와age를 찾을 수 없습니다.
Doocument 확장
mongoose.Docoment를 상속하는 인터페이스 UserDocument을 정의했습니다.
interface UserDocument extends Document{
name:String;
age:Number;
}
이것을 참조할 수 있는 토대에서 가져오기 등을 통해 코드를 조금 쉽게 이해할 수 있는 것은 다음과 같다.
import mongoose = require('mongoose');
import Schema = mongoose.Schema;
import Document = mongoose.Document;
import Model = mongoose.Model;
//スキーマ定義する
var userSchema:Schema = new Schema({name:String, age:Number});
//モデル作る
var userModel:Model<UserDocument> = <Model<UserDocument>>mongoose.model('User', userSchema);
//モデルからドキュメントを作る
var user:UserDocument = new userModel({name:'ORZNGO', age:17});
console.log(user.name);//ORZNGO
방금 번역이 통과되었다.인터페이스가 읽히면 보충도 잘 할 수 있어요.
일단 끝냈다
어쨌든 드디어 독자 모형을 정의하는 곳에 이르렀다.아마 일주일 정도 걸렸을 거예요.
처음으로 큐타에 기사를 썼고, 앞으로도 공부를 위해 많은 것을 쓸 것이다.
추기
방금 몬고우스를 때리려고 했는데, 세quelize도 같은 일을 하고 있었다.
http://qiita.com/orzngo/items/186d700de481cc23c055
Reference
이 문제에 관하여(Type Script와 mongoose로 싸운 일기 #1 모형의 독자적인 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/orzngo/items/4a0e031cde47ef58c024
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
d.ts 읽기 등은 생략되었습니다.
import mongoose = require('mongoose');
//スキーマ作る
var userSchema:mongoose.Schema = new mongoose.Schema({name:String, age:Number});
//モデル作る
var userModel:mongoose.Model<mongoose.Document> = mongoose.model('User', userSchema);
//モデルのインスタンス作る
var user:mongoose.Document = new userModel({name:'orzngo', age:17});
주의해야 할 점은 몬고우스다.모델 업데이트의 결과는 T입니다.잘 모르겠어요. 고민이에요.그러나 이렇게 되면 Doocument형은 직접 반환하는 형식이 되기 때문에userSchaema가 정의한name와age를 찾을 수 없습니다.
Doocument 확장
mongoose.Docoment를 상속하는 인터페이스 UserDocument을 정의했습니다.
interface UserDocument extends Document{
name:String;
age:Number;
}
이것을 참조할 수 있는 토대에서 가져오기 등을 통해 코드를 조금 쉽게 이해할 수 있는 것은 다음과 같다.
import mongoose = require('mongoose');
import Schema = mongoose.Schema;
import Document = mongoose.Document;
import Model = mongoose.Model;
//スキーマ定義する
var userSchema:Schema = new Schema({name:String, age:Number});
//モデル作る
var userModel:Model<UserDocument> = <Model<UserDocument>>mongoose.model('User', userSchema);
//モデルからドキュメントを作る
var user:UserDocument = new userModel({name:'ORZNGO', age:17});
console.log(user.name);//ORZNGO
방금 번역이 통과되었다.인터페이스가 읽히면 보충도 잘 할 수 있어요.
일단 끝냈다
어쨌든 드디어 독자 모형을 정의하는 곳에 이르렀다.아마 일주일 정도 걸렸을 거예요.
처음으로 큐타에 기사를 썼고, 앞으로도 공부를 위해 많은 것을 쓸 것이다.
추기
방금 몬고우스를 때리려고 했는데, 세quelize도 같은 일을 하고 있었다.
http://qiita.com/orzngo/items/186d700de481cc23c055
Reference
이 문제에 관하여(Type Script와 mongoose로 싸운 일기 #1 모형의 독자적인 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/orzngo/items/4a0e031cde47ef58c024
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
interface UserDocument extends Document{
name:String;
age:Number;
}
import mongoose = require('mongoose');
import Schema = mongoose.Schema;
import Document = mongoose.Document;
import Model = mongoose.Model;
//スキーマ定義する
var userSchema:Schema = new Schema({name:String, age:Number});
//モデル作る
var userModel:Model<UserDocument> = <Model<UserDocument>>mongoose.model('User', userSchema);
//モデルからドキュメントを作る
var user:UserDocument = new userModel({name:'ORZNGO', age:17});
console.log(user.name);//ORZNGO
어쨌든 드디어 독자 모형을 정의하는 곳에 이르렀다.아마 일주일 정도 걸렸을 거예요.
처음으로 큐타에 기사를 썼고, 앞으로도 공부를 위해 많은 것을 쓸 것이다.
추기
방금 몬고우스를 때리려고 했는데, 세quelize도 같은 일을 하고 있었다.
http://qiita.com/orzngo/items/186d700de481cc23c055
Reference
이 문제에 관하여(Type Script와 mongoose로 싸운 일기 #1 모형의 독자적인 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/orzngo/items/4a0e031cde47ef58c024
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Type Script와 mongoose로 싸운 일기 #1 모형의 독자적인 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/orzngo/items/4a0e031cde47ef58c024텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)