이 글은 주로 Nodejs를 사용해 mongodb 데이터베이스에 연결하는 구현 코드를 소개합니다. 필요한 친구들은 참고하시면 됩니다
mongodb 공식 예제에 나오는 nodejs의 간단한 예제
1. .json
먼저 프로젝트 디렉터리 connect-mongodb를 만들고 현재 디렉터리로
mkdir connect-mongodb cd connect-mongodb
npm init
命令创建package.json
를 입력합니다.
npm init
그런 다음 mongodb
npm install mongodb --save
의 nodejs 버전 드라이버를 설치합니다. 몽고디비 드라이버 패키지는 현재 디렉터리의 node_modules에 설치됩니다
2. MongoDB 서버를 시작합니다
MongoDB를 설치하고 MongoDB 데이터베이스 서비스를 시작합니다. 이전 기사 또는 공식 MongoDB 문서
를 참조하세요. 3. MongoDB에 연결합니다.
app.js 파일을 생성하고 다음 코드를 추가하여 서버 주소 192.168.0.243 및 mongodb 포트 27017
var MongoClient = require('mongodb').MongoClient, assert = require('assert'); // Connection URL var url = 'mongodb://192.168.0.243:27017/myNewDatabase'; MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); db.close(); });
에 다음 명령을 입력하여 myNewDatabase라는 데이터베이스에 연결합니다. app.js를 실행하는 명령줄
node app.js
4. 문서 삽입
app.js에 다음 코드를 추가하고 insertMany 메소드를 사용하여 문서 컬렉션에 3개의 문서를 추가하세요
var insertDocuments = function(db, callback){ // get ths documents collection var collection = db.collection('documents'); // insert some documents collection.insertMany([ {a:1},{a:2},{a:3} ],function(err,result){ assert.equal(err,null); assert.equal(3,result.result.n); assert.equal(3,result.ops.length); console.log("Inserted 3 documents into the collection"); callback(result); }); };
insert 명령은 다음 속성을 포함하는 객체를 반환합니다.
result MongoDB가 반환한 문서 결과
ops _id 필드가 추가된 문서
connection 삽입 작업을 수행하는 데 사용되는 연결
app.js에서 다음 코드를 업데이트하여 insertDocuments 메소드를 호출하세요
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected successfully to server"); insertDocuments(db, function() { db.close(); }); });
node app.js를 사용하여 명령줄에서 실행
5. 모든 문서 쿼리
findDocuments 함수 추가
var findDocuments = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // find some documents collection.find({}).toArray(function(err,docs){ assert.equal(err,null); console.log("Found the following records"); console.log(docs); callback(docs); }); };
findDocuments 함수는 모든 '문서' 컬렉션에 있는 모든 문서를 쿼리합니다. 이 함수를 MongoClient.connect의 콜백 함수에 추가하세요
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected correctly to server"); insertDocuments(db, function() { findDocuments(db, function() { db.close(); }); }); });
6 문서를 쿼리하려면 쿼리 필터를 사용하세요. for 'a':3
var findDocuments = function(db, callback) { // Get the documents collection var collection = db.collection('documents'); // Find some documents collection.find({'a': 3}).toArray(function(err, docs) { assert.equal(err, null); console.log("Found the following records"); console.log(docs); callback(docs); }); }
7. 문서 업데이트
var updateDocument = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // update document where a is 2, set b equal to 1 collection.updateOne({a:2},{ $set:{b:1} },function(err,result){ assert.equal(err,null); assert.equal(1,result.result.n); console.log("updated the document with the field a equal to 2"); callback(result); }); };updateDocument 메소드는 조건 a가 2인 첫 번째 문서를 업데이트하고 b 속성을 추가하여 1로 설정합니다. .
MongoClient.connect 메서드의 콜백에 updateDocument 메서드를 추가합니다
MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); insertDocuments(db,function(){ updateDocument(db,function(){ db.close(); }); }); });
8. 문서 삭제
var removeDocument = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // remove some documents collection.deleteOne({a:3},function(err,result){ assert.equal(err,null); assert.equal(1,result.result.n); console.log("removed the document with the field a equal to 3"); callback(result); }); };app.js에 추가
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected successfully to server"); insertDocuments(db, function() { updateDocument(db, function() { removeDocument(db, function() { db.close(); }); }); }); });
9. 색인 생성
인덱스는 애플리케이션 성능을 향상시킬 수 있습니다. 아래 코드는 'a' 속성에 색인을 추가합니다
var indexCollection = function(db,callback){ db.collection('documents').createIndex({ a:1 },null,function(err,results){ console.log(results); callback(); }); };Update app.js
MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); insertDocuments(db,function(){ indexCollection(db,function(){ db.close(); }); }); });
위 내용은 Nodejs를 사용하여 mongodb 데이터베이스에 연결하는 방법에 대한 자세한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!