[MONGODB] 몽구스 - 포스 콜렉션 이름
MONGODB몽구스 - 포스 콜렉션 이름
나는 데이터베이스와 데이터베이스의 컬렉션을 만들 수 몽구스를 사용하는 것을 시도하고있다. 내 코드는 다음과 같습니다
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();
이 코드를 실행하면, 대신에 사용자 정보의 사용자 정보라는 이름의 생성 수집 몽구스. 어떻게 몽구스의 컬렉션 이름을 강제로?
해결법
-
==============================
1.이 그것을해야
이 그것을해야
var UserInfo = new Schema({ username : String, password : String }, { collection: 'userinfo' });
자세한 내용은 몽구스 문서에서이 링크를 참조하십시오.
-
==============================
2.당신은 몽구스 2.0.0를 사용하는 경우, 세 번째 인수로 collectionName 사용을 통과
당신은 몽구스 2.0.0를 사용하는 경우, 세 번째 인수로 collectionName 사용을 통과
mongoose.model('UserInfo', UserInfo, 'UserInfo');
-
==============================
3.몽구스는 기본적으로 컬렉션 이름에 's'를 추가합니다. 당신이를 피하려면, 단지 세 번째 인수로 컬렉션의 이름을 전달 :
몽구스는 기본적으로 컬렉션 이름에 '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();
-
==============================
4.mongoose.model의 API 구조는 이것이다 :
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);
-
==============================
5.여기 몽구스 메인테이너. 우리는 mongoose.model 일을하는 것이 좋습니다 ( '사용자 정보', 사용자 정보를, '사용자 정보') mongoose.model에 ;, 세 번째 인수는 () 컬렉션의 이름입니다. 여기에 관련 문서를합니다.
여기 몽구스 메인테이너. 우리는 mongoose.model 일을하는 것이 좋습니다 ( '사용자 정보', 사용자 정보를, '사용자 정보') mongoose.model에 ;, 세 번째 인수는 () 컬렉션의 이름입니다. 여기에 관련 문서를합니다.
-
==============================
6.당신은 당신의 스키마 컬렉션 이름을 설정해야합니다.
당신은 당신의 스키마 컬렉션 이름을 설정해야합니다.
new Schema({...},{collection: 'userInfo'});
-
==============================
7.대답:
대답:
mongoose.model('UserInfo', UserInfo, 'userinfo'); //3rd parameter 'userinfo': as collection name
Mongoose.model(name, [schema], [collection], [skipInit])
매개 변수 설명 :
-
==============================
8.모델 이름 : userInfo.js
모델 이름 : 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);
from https://stackoverflow.com/questions/7486528/mongoose-force-collection-name by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 때 Nodejs에서 MongoDB를 데이터베이스 연결을 닫습니다 (0) | 2019.12.09 |
---|---|
[MONGODB] 키 필드에 의해 MongoDB의 컬렉션에서 모든 중복 문서를 찾기 (0) | 2019.12.09 |
[MONGODB] 동일한 데이터베이스 내에서 컬렉션을 복사하는 가장 빠른 방법은 무엇입니까? (0) | 2019.12.09 |
[MONGODB] 인덱싱 된 열에 선택 MongoDB를 카운트 (고유 X) - 대용량 데이터 세트에 대한 고유 결과를 집계 (0) | 2019.12.09 |
[MONGODB] 어디 CAP 정리에 서 MongoDB를합니까? (0) | 2019.12.08 |