MongoDB는 분산 파일 스토리지 기반의 데이터베이스입니다. C++ 언어로 작성되었습니다. 웹 애플리케이션을 위한 확장 가능한 고성능 데이터 스토리지 솔루션을 제공하도록 설계되었습니다.
MongoDB는 관계형 데이터베이스와 비관계형 데이터베이스 사이의 제품으로, 비관계형 데이터베이스 중 가장 기능이 풍부하고 관계형 데이터베이스와 가장 유사합니다.
1. MongoDB가 이해해야 할 개념
1. 데이터베이스: 각 데이터베이스에는 고유한 권한과 컬렉션이 있습니다.
2. 문서: 키-값 쌍.
3. 컬렉션: 문서 집합, 즉 키-값 쌍의 집합입니다. 컬렉션은 첫 번째 문서가 삽입될 때 생성됩니다.
2. Mac에서 MongoDB 설치 및 시작
1. Brew를 사용하여 설치: Brew install mongodb.
2. 디렉토리 생성: mkdir -p /data/db. 그러면 mongodb 구성에 기본 디렉터리가 생성됩니다.
3. /data/db의 권한을 읽기 및 쓰기 가능으로 설정합니다: chown `id -u` /data/db.
4. mongod 명령을 실행하여 서버를 시작합니다.
5. 새로운 명령 터미널을 생성하고 mongo를 입력한 후 mongo 명령줄 도구(mongod 명령은 일시 중지할 수 없음)에 들어가 mongo 명령줄 도구에서 다양한 mongo 명령을 입력할 수 있습니다.
3. MongoDB 명령줄 기본 작업
1.show dbs: 데이터베이스 보기
2.show 컬렉션: 현재 데이터베이스의 컬렉션 보기
3.db.COLLECTION_NAME.find(): 컬렉션에 속한 모든 문서 보기
4.use DATABASE_NAME: 데이터베이스 사용
5 .db.COLLECTION_NAME.insert({"key":"value","":""...}): 문서를 컬렉션에 삽입합니다(형식 참고)
6.db .COLLECTION_NAME.find({"a":1}): 값이 1인 문서 찾기
7.db.dropDatabase(): 현재 사용 중인 데이터베이스 삭제
4. Node에서 MongoDB 사용
1. 설치
프로젝트 디렉터리에서 다음 명령을 실행합니다. npm install mongodb —save-dev
MongoDB는 반드시 NodeJS에서 Mongodb를 정상적으로 사용하려면 위의 요구 사항에 따라 설치해야 합니다.
2. 데이터베이스 연결을 위한
(1)의 기본 사용:
<span style="font-family: Arial, Helvetica, sans-serif;">var MongoClient = require(‘mongodb').MongoClient; //引入mongodb</span> [javascript] view plain copy print?在CODE上查看代码片派生到我的代码片 var url = ‘mongodb://localhost:27017/testProject' //设定连接的url,注意前半部分是mongodb数据库端口等,testProject是要创建的数据库,可自己命名 MongoClient.connect(url, function(err, db){ //…注意其中的db就指定的是当前数据库 })
(2) 컬렉션 db를 생성합니다.createCollection()
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017/myproject'; MongoClient.connect(url, function(err, db) { console.log("Connected successfully to server"); db.createCollection("myCollection", { "capped": true, "size": 100000, "max": 5000}, function(err, results){ console.log("集合创建成功") }) });
(3) 컬렉션에 문서를 삽입합니다.insertMany()
var collection = db.collection("myCollection"); //选择某一个集合 collection.insertMany([{a:1},{b:2},{c:3}],function(err, result){ //插入数据,这里插入了三条数据 console.log("插入成功"); })
여기에 문장을 삽입하면 노드 코드를 실행할 때마다 데이터베이스의 결과를 보고 작업을 확인할 수 있습니다. 예를 들어 여기에서 db.myCollection.find()를 사용하여 레코드를 성공적으로 썼는지 확인할 수 있습니다.
(4) 문서 찾기
모든 문서 찾기:
var collection = db.collection("myCollection"); <span style="white-space:pre"> </span>collection.find({}).toArray(function(err, docs){ <span style="white-space:pre"> </span>console.log(docs); //其中的docs就是获取到的结果 });
조건을 충족하는 문서 내용 찾기:
collection.find({“a”:1}).toArray(function(err, docs){ <span style="white-space:pre"> </span>console.log(docs); //返回复合条件的内容 });