NodeJS + MongoDB 데이터 다루기
# npm 설치
npm install mongoose
const mongoose = require("mongoose");
mongoose.connect("mongodb://127.0.0.1:27017/databaseName"); // database name: project
// 아래 db 코드는 확인할 때 사용한다. 코드 생략 가능
const db = mongoose.connection;
db.on("open", function () {
console.log("Connected");
});
db.on("error", function () {
console.log("Connection Failed!");
});
/**
* 최초 데이터 1건을 조회한다. (가장 오래된 데이터)
* @param {mongoose.Schema} schema
* @param {object} filter
* @returns
*/
const FindFirst = async (schema, filter) => {
return await schema
.findOne(filter)
.then((response) => response)
.catch((error) => error);
};
/**
* 데이터를 저장한다.
* @param {mongoose.Schema} schema
* @param {object[]} data
*/
const Save = (schema, data) => {
for (value in data) {
new schema(data[value])
.save()
.then((response) => response)
.catch((error) => error);
}
};
/**
* 데이터를 조회하고, 최신순으로 조회한다.
* @param {mongoose.Schema} schema
* @param {object} filter
* @param {number} limit
* @returns
*/
const Find = async (schema, filter = undefined, limit = undefined) => {
return await schema
.find(filter)
.sort({ _id: -1 })
.limit(limit)
.then((response) => response)
.catch((error) => error);
};
/**
* 데이터를 삭제한다.
* @param {mongoose.Schema} schema
* @param {object[]} data
* @returns { acknowledged: boolean, deletedCount: number }
*/
const Delete = async (schema, filter = undefined) => {
return await schema.deleteMany(filter)
.then((response) => response)
.catch((error) => error);
};
// mongoose 조회 함수 호출하기
( async () => {
const returnDelete = await Delete(Ticker);
console.log(returnDelete.deletedCount);
}) ();
Schema.js
const mongoose = require("mongoose");
const { Schema } = mongoose;
const ticker = new Schema({
name: string
});
const Ticker = mongoose.model("tickers", ticker);
module.exports = {
Ticker,
};
Reference Site
'데이터베이스 > MongoDB' 카테고리의 다른 글
[CentOS7] MongoDB 환경 구성 (네트워크, 보안 설정) (1) | 2024.04.19 |
---|---|
[NoSQL] MongoDB 설치 - Mac (0) | 2022.09.10 |