찾다
웹 프론트엔드JS 튜토리얼mongoDB 노드의 추가, 삭제, 수정 및 쿼리에 대해 학습

이 글은 mongoDB의 노드 추가, 삭제, 수정, 체크인에 대한 글 내용을 소개하는 글입니다. 참고할만한 가치가 있고 도움이 필요한 친구들에게 도움이 되었으면 좋겠습니다.

준비

먼저 노드에서 mongoDB를 사용하기 위해서는 MongoDB 드라이버를 설치해야 합니다. 명령은 다음과 같습니다: npm install mongodb --savenpm 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

这个返回的5b59d53ae3d895184824586bgithub 주소: node-mongodb-native

동시에 mongoDB 서비스를 활성화하는 것을 잊지 마세요.

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인 문서를 찾아 삭제합니다. mongoDB 노드의 추가, 삭제, 수정 및 쿼리에 대해 학습

// 查
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()
})
참고: 작업 컬렉션에 task1 프로젝트의 문서가 여러 개 있는 경우 발견된 첫날의 문서만 삭제됩니다. Change

다음 코드는 데이터베이스 데모DB의 작업 컬렉션에서 프로젝트가 task1인 문서를 찾아서 업데이트합니다.

rrreee

참고: task1 프로젝트가 포함된 문서가 작업 컬렉션에 없으면 프로그램은 다음과 같이 어설션 오류를 발생시킵니다.

mongoDB 노드의 추가, 삭제, 수정 및 쿼리에 대해 학습

Check

다음 코드는 작업의 모든 문서를 찾습니다. 데이터베이스 decodb에 수집하고 콘솔에 인쇄합니다.

rrreee

find() 메소드는 모든 문서를 찾고, toArray()는 결과를 배열 형식으로 변환하고 프로그램을 실행합니다.

요약
🎜위의 네 가지 작은 프로그램은 약간 단순하고 누적되지 않습니다. 작은 단계가 수천 마일을 가져올 수는 없습니다. 기본 추가, 삭제, 수정 및 검색을 실제로 마스터했다면 복잡한 응용 프로그램을 마스터하는 것은 시간 문제일 뿐입니다. 🎜🎜관련 권장 사항: 🎜🎜🎜mongoDB의 사용자 및 권한 소개🎜🎜🎜🎜

위 내용은 mongoDB 노드의 추가, 삭제, 수정 및 쿼리에 대해 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
mongodb php 扩展没有怎么办mongodb php 扩展没有怎么办Nov 06, 2022 am 09:10 AM

mongodb php扩展没有的解决办法:1、在linux中执行“$ sudo pecl install mongo”命令来安装MongoDB的PHP扩展驱动;2、在window中,下载php mongodb驱动二进制包,然后在“php.ini”文件中配置“extension=php_mongo.dll”即可。

Go语言中使用MongoDB:完整指南Go语言中使用MongoDB:完整指南Jun 17, 2023 pm 06:14 PM

MongoDB是一种高性能、开源、文档型的NoSQL数据库,被广泛应用于Web应用、大数据以及云计算领域。而Go语言则是一种快速、开发效率高、代码可维护性强的编程语言。本文将为您完整介绍如何在Go语言中使用MongoDB。一、安装MongoDB在使用MongoDB之前,需要先在您的系统中安装MongoDB。在Linux系统下,可以通过如下命令安装:sudo

Redis和MongoDB的区别与使用场景Redis和MongoDB的区别与使用场景May 11, 2023 am 08:22 AM

Redis和MongoDB都是流行的开源NoSQL数据库,但它们的设计理念和使用场景有所不同。本文将重点介绍Redis和MongoDB的区别和使用场景。Redis和MongoDB简介Redis是一个高性能的数据存储系统,常被用作缓存和消息中间件。Redis以内存为主要存储介质,但它也支持将数据持久化到磁盘上。Redis是一款键值数据库,它支持多种数据结构(例

php7.0怎么安装mongo扩展php7.0怎么安装mongo扩展Nov 21, 2022 am 10:25 AM

php7.0安装mongo扩展的方法:1、创建mongodb用户组和用户;2、下载mongodb源码包,并将源码包放到“/usr/local/src/”目录下;3、进入“src/”目录;4、解压源码包;5、创建mongodb文件目录;6、将文件复制到“mongodb/”目录;7、创建mongodb配置文件并修改配置即可。

php怎么使用mongodb进行增删查改操作php怎么使用mongodb进行增删查改操作Mar 28, 2023 pm 03:00 PM

MongoDB作为一款流行的NoSQL数据库,已经被广泛应用于各种大型Web应用和企业级应用中。而PHP语言也作为一种流行的Web编程语言,与MongoDB的结合也变得越来越重要。在本文中,我们将会学习如何使用PHP语言操作MongoDB数据库进行增删查改的操作。

SpringBoot中logback日志怎么保存到mongoDBSpringBoot中logback日志怎么保存到mongoDBMay 18, 2023 pm 07:01 PM

自定义Appender非常简单,继承一下AppenderBase类即可。可以看到有个AppenderBase,有个UnsynchronizedAppenderBase,还有个AsyncAppenderBase继承了UnsynchronizedAppenderBase。从名字就能看出来区别,异步的、普通的、不加锁的。我们定义一个MongoDBAppender继承UnsynchronizedAppenderBasepublicclassMongoDBAppenderextendsUnsynchron

SpringBoot怎么整合Mongodb实现增删查改SpringBoot怎么整合Mongodb实现增删查改May 13, 2023 pm 02:07 PM

一、什么是MongoDBMongoDB与我们之前熟知的关系型数据库(MySQL、Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和索引。MongoDB将数据存储在灵活的、类似JSON的文档中,这意味着文档的字段可能因文档而异,数据结构也会随着时间的推移而改变。文档模型映射到应用程序代码中的对象,使数据易于处理。MongoDB是一个以分布式数据库为核心的数据库,因此高可用性、横向扩展和地理分布是内置的,并且易于使用。况且,MongoDB是免费的,开源

Swoole与MongoDB的整合:构建高性能的文档数据库系统Swoole与MongoDB的整合:构建高性能的文档数据库系统Jun 14, 2023 am 11:51 AM

在现代企业应用程序开发中,需要处理海量数据和高并发的访问请求。为了满足这些需求,开发人员需要使用高性能的数据库系统,以确保系统的稳定性和可扩展性。本文将介绍如何使用Swoole和MongoDB构建高性能的文档数据库系统。Swoole是一个基于PHP语言开发的异步网络通信框架,它能够大大提高PHP应用程序的性能和并发能力。MongoDB是一种流行的文档数据库,

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)