Open yellow-jam opened 7 months ago
use [데이터베이스명]
show dbs
db
몽고디비의 '컬렉션' = mysql의 '테이블'
db.createCollection('users')
db.users.insertOne({name: 'yuz', age: 23, married: false, comment: '안녕하세요, 코너입니다.', createAt: new Date ()});
db.users.find({name: 'yuz'}, {_id: 1})
db.컬렉션명.find({});
db.users.find({age: {$gt: 30}, married: true}, {_id: 0, name: 1, age: 1});
db.users.find(검색조건).sort({age: -1})
-1은 내림차순, 1은 오름차순db.users.find(검색조건).sort(정렬조건).limit(1).skip(1)
db.users.updateOne({검색조건}, {수정할 값});
db.users.updateOne({검색조건}, {$set: {수정할 필드: 값} });
{ $set: {comment: '안녕하세요, 이 필드를 바꿔보겠습니다!'} }
db.users.deleteOne({name: 'nero'})
MySQL에 시퀄라이즈가 있다면, 몽고디비에는 몽구스(mongoose)가 있다
몽구스 패키지 설치 npm i mongoose
npm i express morgan nunjucks mongoose
npm i -D nodemon
몽고디비 연결 주소 형식: mongodb://[username:password@]localhost[:port][/[database][?options]]
예: mongodb://YUZ:0000@localhost:27017/admin
// schemas/index.js
const mongoose = require('mongoose');
const connect = () => {
if (process.env.NODE_ENV !== 'production') {
mongoose.set('debug', true);
}
mongoose.connect('mongodb://YUZ:0000@localhost:27017/admin', {
dbName: 'nodejs',
useNewUrlParser: true,
}).then(() => {
console.log("몽고디비 연결 성공");
}).catch((err) => {
console.error("몽고디비 연결 에러", err);
});
};
mongoose.connection.on('error', (error) => {
console.error('몽고디비 연결 에러', error);
});
mongoose.connection.on('disconnected', () => {
console.error('몽고디비 연결이 끊겼습니다. 연결을 재시도합니다.');
connect();
});
module.exports = connect;
// schemas/user.js
const mongoose = require('mongoose');
const { Schema } = mongoose;
const userSchema = new Schema({
name: {
type: String,
required: true,
unique: true,
},
age: {
type: Number,
required: true,
},
married: {
type: Boolean,
required: true,
},
comment: String,
createdAt: {
type: Date,
default: Date.now,
},
});
module.exports = mongoose.model('User', userSchema);
Nosql vs. SQL
몽고디비 사용하기
MongoDB Community Server 다운로드 https://www.mongodb.com/try/download/community
몽고디비 포트는 27017번
cd "C:\Program Files\MongoDB\Server\7.0\bin"
몽고디비 실행:mongod --ipv6
몽고디비 접속:mongosh
데이터베이스 관리자 계정 만들기:use admin
후db.createUser({ user: '이름', pwd: '비밀번호', roles: ['root'] })
몽고디비 로그인 요구 실행
mongod --ipv6 --auth
로그인mongosh admin -u [이름] -p [비밀번호]
MongoDB 셸 다운로드 https://www.mongodb.com/try/download/shell 설치경로 C:\Users\USER\AppData\Local\Programs\mongosh\