최근에 ASP.NET Core 1.0으로 많은 작업을 수행 한 프로젝트를 Node.js로 변환해야했습니다. 나는 JavaScript에 대해 거의 알지 못하고 JSON을 직접 수행하지 않고도 C # 클래스를 직렬화하는 ASP의 좋은 삶을 살았습니다. Node는 내가 나쁜 시간을 보내고있는 JSON을 직접 수행하기를 원합니다.
피트니스 앱입니다. 당신은 그들의 리프트와 물건을 포함하는 약간의 진행을 가진 클라이언트가 있습니다. C #에서는 아래와 같이 Workouts 개체에 있습니다.
public struct Progress
{
public Workout[] Workouts;
}
운동은 타이밍, 세트, 반복, 모든 좋은 것들을 포함하는 재사용 가능한 개체입니다. 필요한 모든 스키마에서 Workouts 개체를 다시 작성할 수 있지만 더 나은 방법이 있어야합니까? 나는에 대해 뭔가를 읽을 $schema
하고 $ref
있지만 사용 방법에 익숙하지 않은 생각하거나 해당 키워드의 오른쪽 응용 프로그램 인 경우.
마지막으로이 사용자 지정 운동 개체의 배열을 어떻게 정의합니까?
이것은 내 JSON 객체와 client.js
지금까지 의 내용입니다 . 진행률 비트는 내가 이상적으로 달성하고 싶은 것입니다.
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ClientSchema = new Schema({
measurements: [{
height: Number,
weight: Number
}],
personal_information: [{
birthday: Date,
gender: String
}],
contact_information: [{
phone: String,
email: String
}],
progress: [{
workouts: WorkoutList
}]
});
다양한 다른 모델에서 사용할 수있는 공통 데이터 구조를 원하는 경우 다양한 다른 스키마 에서 사용할 하위 문서 스키마 (자체 모델이있을 수도 있고 없을 수도 있음)를 만들 수 있습니다.
참고 : 단일 스키마 개체를 제공합니다. 즉, 한 모델을 수정하면 나중에 사용하는 다른 모델로 전파됩니다. 그것이 문제 workout-list-schema.js
라면 매번 새로운 스키마 객체를 반환하는 팩토리 함수 로 변환 할 수 있습니다 .
workout-list-schema.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var WorkoutListSchema = module.exports.WorkoutListSchema = new Schema({
// some schema
});
client-schema.js
var mongoose = require('mongoose');
var WorkoutListSchema = require('./workout-list-schema').WorkoutListSchema;
var Schema = mongoose.Schema;
var ClientSchema = new Schema({
measurements: [{
height: Number,
weight: Number
}],
personal_information: [{
birthday: Date,
gender: String
}],
contact_information: [{
phone: String,
email: String
}],
progress: [{
workouts: WorkoutListSchema
}]
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다