예를 들어,이 코드는 "datas"라는 컬렉션을 생성합니다.
var Dataset = mongoose.model('data', dataSchema);
그리고이 코드는 "users"라는 컬렉션을 생성합니다.
var User = mongoose.model('user', dataSchema);
감사
예를 들어,이 코드는 "datas"라는 컬렉션을 생성합니다.
var Dataset = mongoose.model('data', dataSchema);
그리고이 코드는 "users"라는 컬렉션을 생성합니다.
var User = mongoose.model('user', dataSchema);
감사
답변:
몽구스는 컬렉션 이름을 복수로 만들어 똑똑해 지려고합니다. 그러나 원하는대로 강제 할 수 있습니다.
var dataSchema = new Schema({..}, { collection: 'data' })
mongoose.model의 API 구조는 다음과 같습니다.
Mongoose#model(name, [schema], [collection], [skipInit])
mongoose는 컬렉션 인수가 전달되지 않으면 Mongoose는 모델 이름을 복수화하여 컬렉션 이름을 생성합니다. 이 동작이 마음에 들지 않으면 컬렉션 이름을 전달하거나 스키마 컬렉션 이름 옵션을 설정하십시오.
예:
var schema = new Schema({ name: String }, { collection: 'actor' });
또는
schema.set('collection', 'actor');
또는
var collectionName = 'actor'
var M = mongoose.model('Actor', schema, collectionName);
mongoose 5.x부터 완전히 비활성화 할 수 있습니다.
mongoose.pluralize(null);
컬렉션 이름을 세 번째 매개 변수로 추가 할 수 있습니다. Typescript를 사용하는 예를 참조하십시오.
import DataAccess = require('../DataAccess');
import IUser = require("../../Models/Interfaces/IUser");
var mongoose = DataAccess.mongooseInstance;
var mongooseConnection = DataAccess.mongooseConnection;
class UserSchema {
static get schema () {
var schema = mongoose.Schema({
_id : {
type: String
},
Name: {
type: String,
required: true
},
Age: {
type: Number,
required: true
}
});
return schema;
}
}
var schema:any = mongooseConnection.model<IUser>("User",
UserSchema.schema,"User");
export = schema;
다음 줄에서 스키마 정의가 끝날 때이 코드 사용
module.exports = mongoose.model("State", "StateSchema", "state")
상태가 상태로 s를 피하기 위해 db에서 사용하려는 상태라고 가정합니다.
Mongoose는이 명령을 실행할 때 모델을 컴파일합니다.
var schema = new mongoose.Schema({ name: 'string', size: 'string' });
var child = mongoose.model('child', schema);
첫 번째 인수는 모델이 대상인 컬렉션의 단일 이름입니다. Mongoose는 모델 이름 의 복수형 소문자 버전을 자동으로 찾습니다 . 따라서 위의 예에서 모델 하위는 데이터베이스의 하위 컬렉션에 대한 것입니다.
참고 : 이 .model()
함수는 스키마의 복사본을 만듭니다. 호출하기 전에 후크를 포함하여 스키마에 원하는 모든 것을 추가했는지 확인하십시오 .model()
.