이 글은 mongoDB의 노드 추가, 삭제, 수정, 체크인에 대한 글 내용을 소개하는 글입니다. 참고할만한 가치가 있고 도움이 필요한 친구들에게 도움이 되었으면 좋겠습니다.
먼저 노드에서 mongoDB를 사용하기 위해서는 MongoDB 드라이버를 설치해야 합니다. 명령은 다음과 같습니다: npm install mongodb --save
npm install mongodb --save
github地址:node-mongodb-native
同时,记得开启mongoDB服务。
下面代码将在数据库demodb中tasks集合里面插入了一条文档,并且在控制台打印出了该文档的id。
const MongoClient = require('mongodb').MongoClient const assert = require('assert') const url = 'mongodb://localhost:27017' const dbName = 'demodb' // 增 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') // 没有则创建 tasks.insertOne( { "project": "task1", "description": "task1 description." }, {safe: true}, function(err, documents) { if (err) throw err; console.log(documents.insertedId); } ); client.close() })
运行程序,发现在控制台打印出了如下结果
Connected successfully to server 5b59d53ae3d895184824586b
这个返回的5b59d53ae3d895184824586b
github 주소: node-mongodb-native
Added
다음 코드는 데이터베이스 데모DB의 작업 컬렉션에 문서를 삽입하고 콘솔에 문서의 ID를 인쇄합니다.// 删 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') tasks.deleteOne( { "project": "task1" }, function(err, result) { assert.equal(err, null); assert.equal(1, result.result.n); console.log("Removed the document"); } ); client.close() })
// 改 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') tasks.updateOne( { "project": "task1" }, { $set: { "project" : "task999" } }, {safe: true}, function(err, result) { assert.equal(err, null); assert.equal(1, result.result.n); console.log("Updated the document"); } ); client.close() })
5b59d53ae3d895184824586b
는 MongoDB의 문서 식별자이며 그 본질은 바이너리 JSON(예: BSON)입니다. , BSON은 MongoDB가 데이터를 교환하기 위해 사용하는 주요 데이터 형식이며 MongoDB 서버는 JSON 대신 BSON을 사용하여 데이터를 교환합니다. 대부분의 경우 공간 효율적이고 구문 분석 속도가 더 빠릅니다. {safe: true}로 선언된 것은 데이터베이스 작업이 완료될 때까지 콜백 함수가 실행되지 않음을 나타냅니다.
Note: 편의상 여기에서는 인증 모드가 활성화되어 있지 않으므로 로그인 URL에 사용자 이름과 비밀번호 없이 마음대로 추가, 삭제, 수정 및 확인할 수 있습니다. 하지만 프로덕션 환경에서는 인증 모드를 켜는 것을 잊지 마세요.
Delete
다음 코드는 데이터베이스 데모DB의 작업 컬렉션에서 프로젝트가 task1인 문서를 찾아 삭제합니다.
// 查 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') tasks.find().toArray((err, docs) => { console.log(docs) assert.equal(null, err) // err 不等于null, 则在控制台打印err // assert.equal(3, docs.length) // 记录不等于3条, 则在控制台打印记录条数 }) client.close() })
rrreee
참고: task1 프로젝트가 포함된 문서가 작업 컬렉션에 없으면 프로그램은 다음과 같이 어설션 오류를 발생시킵니다.Check다음 코드는 작업의 모든 문서를 찾습니다. 데이터베이스 decodb에 수집하고 콘솔에 인쇄합니다.
rrreee
find() 메소드는 모든 문서를 찾고, toArray()는 결과를 배열 형식으로 변환하고 프로그램을 실행합니다.위 내용은 mongoDB 노드의 추가, 삭제, 수정 및 쿼리에 대해 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!