Node.js 아래에 JSON을 쉽게 저장하는 방법
Node.js에서 하나의 JSON 어레이를 영속적으로 저장할 수 있는 매우 간단한 방법을 찾고 있습니다.특별한 기능이 필요하지 않습니다.JSON 오브젝트를 넣고 다음 서버 재시작 시 읽을 수 있으면 됩니다.
(MongoDB나 CouchDB와 같은 솔루션은 모두 이 목적을 위해 과잉으로 보입니다.)
파일에 쓰는 게 어때요?
// Writing...
var fs = require("fs");
var myJson = {
key: "myvalue"
};
fs.writeFile( "filename.json", JSON.stringify( myJson ), "utf8", yourCallback );
// And then, to read it...
myJson = require("./filename.json");
또, 기입과 읽기를 반복할 필요가 있는 경우는, 반복해 읽고 있는 파일 마다 노드의 캐시를 클리어 할 필요가 있습니다.그렇지 않으면, Node는 파일을 새로고침하지 않고, 대신에, 최초의 컨텐츠가 표시됩니다.require
특정 요건을 위해 캐시를 클리어하는 것은 매우 간단합니다.
delete require.cache[require.resolve('./filename.json')]
또한 (Node 12에서) CommonJ가 아닌 ES 모듈을 사용하는 경우import
문에 대응하는 캐시 무효화가 없습니다.대신 dynamic import()를 사용하여 Import가 URL에서 이루어지므로 Import 문자열의 일부로 캐시 버스트 형식으로 쿼리 문자열을 추가할 수 있습니다.
또는 내장 캐시를 피하기 위해fs.readFile()
/fs.readFileSync()
필요(사용) 대신fs/promises
대신fs
약속 기반 코드를 명시적으로 작성하거나 비동기/비동기 사용으로 암묵적으로 작성하는 경우)
NeDB 시험: https://github.com/louischatriot/nedb
"Node.js용 내장형 영구 데이터베이스로 Javascript로 작성되었으며 종속성이 없습니다(물론 npm 모듈은 제외).단순한 require 문과 함께 사용할 수 있는 Node.js 프로젝트용 SQLite라고 생각하면 됩니다.API는 MongoDB의 서브셋입니다.영구 데이터 저장소로 사용할 수도 있고 메모리 내 전용 데이터 저장소로 사용할 수도 있습니다.
json-fs-store라는 이름의 라이브러리가 발견되어 JavaScript 객체를 JSON으로 시리얼화하고 나중에 가져옵니다.
를 통해 파일을 취득할 때store.load
method(현시점에서는 설명되지 않음)로 해석됩니다.JSON.parse
어떤 것이 더 나은지require
다른 답변과 같습니다.
- 내용의 형식이 올바르지 않은 경우 올바른 오류 처리를 얻을 수 있습니다.
- 만약 누군가가 JavaScript 코드를 파일에 몰래 넣는 데 성공했다면, JS가 실행되는 대신 구문 분석 오류가 발생합니다.
퍼포먼스를 필요로 하는 경우 다음 사항을 고려하십시오.s
https://www.npmjs.com/package/lokijs
외부 프로세스가 없고 매우 강력하고 안정적인 성능을 갖춘 단순한 데이터 스토리지가 필요한 경우 Rocket-Store를 사용할 수 있습니다.사용법은 매우 간단합니다.모듈을 포함하면 바로 레코드 삽입을 시작할 수 있습니다.
여기에는 put, get, delete의 3가지 주요 방법(및 일부 특수한 방법 및 옵션 설정)이 있습니다.
예:
// collection/table = "cars", key = "Mercedes"
result = await rs.post("cars", "Mercedes", {owner: "Lisa Simpson", reg: "N3RD"});
// Get all records from "cars" collection
result = await rs.get("cars","*");
// Delete records in collection "cars" where keys match "*cede*"
result = await rs.delete("cars","*cede*");
기본 파일 시스템 캐시에 의존하여 속도를 최적화하고 수백만 개의 레코드로 작동할 수 있습니다.
간단한 시퀀스, 자동 증가 및 기타 사소한 편의도 얻을 수 있습니다. 하지만 그것뿐입니다.화려하지 않다.심플한 스토리지 솔루션이 필요할 때마다 매우 마음에 들지만, 저자로서 매우 편향적이기도 합니다.
JSON 데이터를 단순한 텍스트 파일에 저장하고 서버 재시작 시 읽을 수 있습니다.
const data = require("yourarrayfile.json");
평소와 같이 작업합니다.
LowDB를 시험
Lowdb는 Lodash(Node, Electron 및 브라우저 지원)를 기반으로 하는 소규모 로컬 JSON 데이터베이스입니다.Lodash를 알고 있다면 Lowdb 사용법을 이미 알고 있는 것입니다.
LokiJS와 NeDB 모두 사용자가 많아 보이지만 TaffyDB를 발견한 것은 얼마 전입니다.직접 사용해 본 적은 없지만, 완성도를 높이기 위해 여기에 추가해야겠다고 생각했습니다.
노드의 fs 시스템을 제안한 사용자는 동의해야 합니다.다른 사람들은 모두 mongoDB 등이 이미 과잉인 경우, 단순 로케일 스토리지나 노드의 FS 라이브러리 등 전체적으로 보이는 것들을 제안하고 있습니다.
웹 개발 여정을 시작했을 때는 mongoDB 등을 통해 영속적인 데이터 스토리지 기술을 익힐 만큼 몰랐던 것으로 기억합니다.그러나 노드의 FS 라이브러리는 초기 어플리케이션 몇 가지를 성공시켰습니다.로컬 서버를 재부팅한 후에도 모든 데이터는 그대로 유지되었습니다.
언급URL : https://stackoverflow.com/questions/14939289/easy-way-to-store-json-under-node-js
'programing' 카테고리의 다른 글
AngularJS: 폼 트리거 내의 모든 버튼이 전송됩니까? (0) | 2023.03.28 |
---|---|
JSONObject가 null인지 존재하지 않는지 테스트하는 방법 (0) | 2023.03.28 |
Oracle에서 CLOB 열의 크기를 바이트 단위로 가져오는 방법 (0) | 2023.03.28 |
Jeest에서 예기치 않은 토큰이 발견되었습니다. (0) | 2023.03.28 |
노드 사스는 개발입니까, 아니면 React 프로젝트에 의존합니까? (0) | 2023.03.28 |