몽구스 — 힘 모음 이름
mongoose를 사용하여 데이터베이스와 컬렉션을 만들려고합니다. 내 코드는 다음과 달라집니다
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/testdb');
var Schema = mongoose.Schema;
var UserInfo = new Schema({
username : String,
password : String
});
mongoose.model('UserInfo', UserInfo);
var user = db.model('UserInfo');
var admin = new user();
admin.username = "sss";
admin.password = "ee";
admin.save();
이 코드를 실행하면 mongoose는 userinfo 대신 UserInfo라는 컬렉션을 만들었습니다. 몽구스에서 컬렉션 이름을 강제하는 방법은 무엇입니까?
이거해야 해
var UserInfo = new Schema({
username : String,
password : String
}, { collection: 'userinfo' });
자세한 내용 은 Mongoose 설명서 에서이 링크 를 참조하십시오.
mongoose 2.0.0을 사용하는 경우 collectionName을 세 번째 인수로 전달하십시오.
mongoose.model('UserInfo', UserInfo, 'UserInfo');
Mongoose는 기본적으로 컬렉션 이름에 's'를 추가합니다. 이를 통해 전달받은 인수로 전달하십시오.
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/testdb');
var Schema = mongoose.Schema;
var UserInfo = new Schema({
username: String,
password: String
});
mongoose.model('UserInfo', UserInfo, 'UserInfo')
tan = new user();
admin.username = 'sss';
admin.password = 'ee';
admin.save();
mongoose.model의 API 구조는 다음과 가변적입니다.
Mongoose#model(name, [schema], [collection], [skipInit])
몽구스가하는 컬렉션 인수가 전달되지 않은 컬렉션 몽구스는 모델 이름을 복수화하여 컬렉션 이름을 생성한다는 것입니다. 이 동작이 마음에 들지 꽃다발 컬렉션 이름을 전달하거나 스키마 컬렉션 이름 옵션을 설정하십시오.
예 :
var schema = new Schema({ name: String }, { collection: 'actor' });
또는
schema.set('collection', 'actor');
또는
var collectionName = 'actor'
var M = mongoose.model('Actor', schema, collectionName);
스키마에서 컬렉션 이름을 설정해야합니다.
new Schema({...},{collection: 'userInfo'});
몽구스 관리자입니다. 을 권장합니다 mongoose.model('UserInfo', UserInfo, 'UserInfo');
. 세 번째 인수 mongoose.model()
는 컬렉션 이름입니다. 관련 문서는 다음과 가변 됩니다.
대답 :
mongoose.model('UserInfo', UserInfo, 'userinfo'); //3rd parameter 'userinfo': as collection name
구문을 더 나은 설명 :
Mongoose.model(name, [schema], [collection], [skipInit])
매개 변수 설명 :
- 첫 번째 매개 변수-이름 모델 이름
- 두 번째 매개 변수 [스키마] 스키마 이름
- 세 번째 매개 변수 [collection] 컬렉션 이름 (선택 사항, 모델 이름에서 유도 됨)
- 네 번째 매개 변수 [skipInit] 초기화 건너 뛰기 여부 (특허는 false)
모델명 : userInfo.js
빠른 경로 파일 또는 app.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/testdb');
그런 다음 userInfo.js에서
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UserInfo = new Schema({
username : String,
password : String
});
module.exports = mongoose.model('UserInfo', UserInfo);
참고 URL : https://stackoverflow.com/questions/7486528/mongoose-force-collection-name
'IT' 카테고리의 다른 글
Sublime Text 3 파일 사이드 바의 글꼴 크기를 변경하는 방법은 무엇입니까? (0) | 2020.08.06 |
---|---|
Jaxb, Class는 동일한 이름의 두 가지 속성이 있습니다. (0) | 2020.08.06 |
템플릿은 무엇입니까 (0) | 2020.08.06 |
패닉 : 깨진 AVD 시스템 경로. (0) | 2020.08.06 |
키 입력을 입력 할 때 UITextField의 값 가져 오기? (0) | 2020.08.06 |