1편: https://kronae.com/entry/Nodejs-데이터베이스-직접-만들기-1편
사용법
DBMS.write([DB파일위치], [인코딩]) => 데이터베이스를 [DB파일위치] 에 만들때 사용. 이미 있는 파일에 사용시 리셋.
(함수를 반환함. 반환한 함수를 실행하면 자동으로 open 하여 데이터베이스를 가져옴)
DBMS.open([DB파일위치], [인코딩]) => 데이터베이스를 [DB파일위치] 에서 찾아 가져옴.
(DBMS.DB형을 반환함)
DBMS.open(...).open([DB파일위치], [인코딩]) => 데이터베이스를 [DB파일위치] 에서 찾아 가져옴.
(DBMS.open() 과 같은 역할이며, DBMS.open() 사용시 자동으로 해주기 때문에 파일을 바꿀때만 사용)
DBMS.open(...).createDB(<DB이름>) => 데이터베이스를 만들때 사용. 이미 있는 데이터베이스에 사용시 리셋.
(설정된 값을 반환함)
DBMS.open(...).readDB(<DB이름>) => 데이터베이스를 읽을때 사용.
(Object형을 반환함. 안에는 콜렉션이 있고, 콜렉션 안에는 데이터가 있음)
DBMS.open(...).createCollection(<DB이름>, <콜렉션이름>) => 콜렉션을 만들때 사용. 이미 있는 콜렉션에 사용시 리셋.
(설정된 값을 반환함)
DBMS.open(...).readCollection(<DB이름>, <콜렉션이름>) => 콜렉션을 가져올 때 사용.
(Array형을 반환함. 안에는 데이터가 있음)
DBMS.open(...).writeData(<DB이름>, <콜렉션이름>, <데이터>) => 데이터를 콜렉션 마지막에 추가함.
(설정된 값을 반환함)
DBMS.open(...).writeDataAt(<DB이름>, <콜렉션이름>, <몇번째>, <데이터>) => 데이터를 콜렉션 <몇번째> 에 추가함.
(설정된 값을 반환함)
DBMS.open(...).readData(<DB이름>, <콜렉션이름>, <몇번째>) => <몇번째> 의 데이터를 콜렉션에서 가져옴.
(값을 반환함)
DBMS.open(...).find(<조건>, <컬백>) => 데이터베이스파일 전체에서 <조건>에 해당하는 파일을 가져와서 <컬백>을 실행.
(async 함수이며, 컬백 또는 .then 을 사용할 수 있음. Array형을 반환함. 더 자세히는 잠시후에 알려드리겠습니다)
DBMS.open(...).save() => 수정된 값을 저장함.
(반환값이 없음)
자! 이정도의 기능이 있는데요 바로 예시를 살펴봅시다.
const DBMS = require("./dbms");
DBMS.write("./database.krondb");
var db = DBMS.open("./database.krondb");
db.createDB("users");
db.createCollection("users", "admin");
db.writeDataAt("users", "admin", 0, { "id": "admin", "password": "1234!" })
db.createCollection("users", "abc");
db.writeDataAt("users", "abc", 0, { "id": "abc", "password": "abcLover!" })
db.save()
db.find(function(db, data, list) {
return data.db == "users";
}, function(db, datas) {
console.log('data.db == "users": ', datas);
});
db.find(function(db, data, list) {
return data.collection == "admin";
}, function(db, datas) {
console.log('data.collection == "admin": ', datas);
});
db.find(function(db, data, list) {
return data.data.password == "abcLover!";
}, function(db, datas) {
console.log('data.data.password == "abcLover!": ', datas);
});
db.find(function(db, data, list) {
return data.nth == 0;
}, function(db, datas) {
console.log('data.nth == 0: ', datas);
});
이렇게 하고 실행하면...
이렇게! 잘 검색된것을 확인할 수 있습니다.
1편에서 말한것 처럼 여러분이 수정하셔도 되지만,
어떻게 수정했는지 메일을 보낸후에 수정하시면 dbms 파일을 수정하실 수 있습니다.
글 안적고 그냥 수정한 파일만 보내셔도 됩니다 ^^
"어... 그런데 웹서버 만들기에서 이어진다고 하셨잖아요...."
맞습니다! 그래서 지금부터 이것을 웹서버에 적용시켜보겠습니다.
3편에 계속...
'코딩' 카테고리의 다른 글
[Node.js] Srt 자막파일을 JSON 으로 파싱하고 수정하기 1편 (0) | 2022.12.07 |
---|---|
[JS] 쿼리스트링을 가져와서 JSON 으로 바꾸기 (0) | 2022.12.06 |
[웹] 세로선 가로선 만들기 (0) | 2022.11.06 |
[Node.js] 데이터베이스 직접 만들기 1편 (0) | 2022.11.05 |
[코딩] 코딩 언어들의 주석 (0) | 2022.11.04 |
댓글