mongo의 기본 동작 --- 문서의 추가, 삭제, 수정 및 조회

4, CRUD

mongo 데이터베이스는 일반적인 관계형 데이터베이스와 동일하며, 가장 기본적인 작업은 추가, 삭제, 수정, 확인이며 이름만 다를 뿐입니다.

SQL 용어/개념 MongoDB 용어/개념 설명하다
데이터 베이스 데이터 베이스 데이터 베이스
테이블 수집 데이터베이스 테이블/컬렉션
문서 데이터 레코드 라인/문서
필드 데이터 필드/필드
색인 색인 색인
테이블 조인 테이블 조인, MongoDB는 지원하지 않음
기본 키 기본 키 기본 키, MongoDB는 자동으로 _id 필드를 기본 키로 설정합니다.

4.1 문서 삽입

문서 삽입의 본질은 컬렉션에 데이터를 삽입하는 것으로 관계형 데이터베이스로 설명向数据表中插入数据

语法

#단일 삽입

db.collection_Name.insertOne(document)

#여러 삽입

db.collection_Name.insertMany([document])

예:

#单个插入
db.test1.insertOne({name:"mongo",type:1,value:1})
#多个插入
db.test1.insertMany([
       {
         name:"mysql",
         type:2,
         value:2
       },{
         name:"oracle",
         type:3,
         value:3
       },{
         name:"nosql",
         type:4,
         value:4
       },{
         name:"xiaoming",
         sex:"男",
         age:20,
         address:"江苏省南京市浦口区××××××苑×××××单元×××××楼×××××××户"
       }
       ]
)

# 查看集合中的文档
db.test1.find()

여기에 이미지 설명 삽입

4.2 문서 업데이트

문서 업데이트의 본질은 문서의 데이터를 업데이트하는 것으로 관계형 데이터베이스로 설명된다.更新数据表中的数据

```구문:`

#한 줄 업데이트

db.test1.updateOne(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

#여러 행 업데이트

db.test1.updateMany(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

매개변수 설명

  • query : SQL 업데이트 쿼리에서와 유사한 업데이트 쿼리 조건입니다.
  • 업데이트 : 업데이트된 내용은 SQL 업데이트 쿼리 뒤에 있는 집합으로 이해할 수도 있습니다.
  • upsert : 선택 사항, 기본값은 false입니다. 즉, 업데이트 조건이 존재하지 않을 때 삽입하지 않습니다. 삽입의 경우 true입니다. 즉, 업데이트 조건이 존재하지 않을 때 데이터를 삽입합니다.
  • multi : 선택 사항, 기본값은 false이며 발견된 첫 번째 레코드만 업데이트됩니다. 이 매개변수가 true인 경우 조건에 따라 발견된 여러 레코드가 모두 업데이트됩니다.
  • writeConcern : 선택사항, 발생한 예외 수준.

예:

  1. 삽입하지 않고 첫 번째 레코드 업데이트

    db.test1.updateOne({name:"mongo"},{$set:{
         
         type:99}})
    

여기에 이미지 설명 삽입

  1. 기준과 일치하는 모든 문서를 삽입하지 않고 업데이트합니다.
db.test1.updateMany({name:"redis"},{$set:{
   
   type:111}})

여기에 이미지 설명 삽입

4.3 쿼리 문서

문서 쿼리의 본질은 관계형 데이터베이스로 해석할 수 있는 문서의 데이터를 쿼리하는 것입니다.查询数据表中的数据

语法

db.collection_name.find()

4.3.1 일반적인 쿼리

일반 검색어: 특정 조건에 따라 검색

예:

#查找集合中全部的文档
db.test1.find()

여기에 이미지 설명 삽입

#查找名字为mongo的文档
db.test1.find({name:"mongo"})

여기에 이미지 설명 삽입

#查找值为空的文档
db.test1.find({
   
   value:null})

여기에 이미지 설명 삽입

4.3.2 퍼지 쿼리

데이터베이스에서 데이터를 운용할 때 fuzzy lookup을 많이 사용하는데, fuzzy lookup은 mongo에서도 지원하는데 꼭 사용해야 한다.$regex

#查找名字中包含m的文档
db.test1.find({name:{$regex:/m/}})

여기에 이미지 설명 삽입

#查找名字以m开头的文档
db.test1.find({name:{$regex:/^m/}})

여기에 이미지 설명 삽입

4.3.3 조건 쿼리

데이터베이스에서 데이터를 운용할 때 조건부 검색을 자주 사용하는데 몽고에서도 조건부 검색을 지원한다.
여기에 이미지 설명 삽입

#查询类型不为111的文档
db.test1.find({type:{$ne:111}})

여기에 이미지 설명 삽입

#查询类型不为111且名字已m开头的文档
db.test1.find({
   
   type:{$ne:111},name:{$regex:/^m/}})

여기에 이미지 설명 삽입

#插叙名字为mongo或者type为空的文档
db.test1.find({
  $or:
    [
      {name:"mongo"},
      {
   
   type:null}
    ]
})

여기에 이미지 설명 삽입

#插叙名字为mongo或者type为空且value为1的文档
db.test1.find({
  $or:
    [
      {name:"mongo"},
      {
   
   type:null}
    ],
    value:1
})

여기에 이미지 설명 삽입

4.4.4 프로젝션 쿼리

MongoDB의 프로젝션은 문서의 모든 필드를 직접 쿼리하는 대신 지정된 필드를 쿼리하는 것입니다. 1개의 표시가 표시되고 0개의 표시가 숨김

语法

db.ollection_name.find({
   
   file:1,file2:0})

#插叙名字为mongo或者type为空且value为1的文档,要求只展示名字和类型
db.test1.find({
  $or:
    [
      {name:"mongo"},
      {
   
   type:null}
    ],
    value:1
},{_id:0,name:1,type:1})

여기에 이미지 설명 삽입

4.4.5 쿼리 제한

mongo의 제한 쿼리는 쿼리되는 데이터의 양을 제한하는 것입니다.

语法

db.test1.find().limit(count)

매개변수 설명

개수: 제한할 항목 수

예:

#限制输出2条
db.test1.find().limit(2)

여기에 이미지 설명 삽입

4.4.6 쿼리 건너뛰기

mongo의 점프 쿼리는 지정된 항목 수를 건너뛰고 조건을 충족하는 문서를 찾는 것을 말합니다.

语法

db.test1.find().skip(count)

매개변수 설명

개수: 건너뛴 항목 수

#跳过前两条
db.test1.find().skip(2)

여기에 이미지 설명 삽입

#跳过前两条查找,并且返回3条数据,
db.test1.find().skip(2).limit(3)
#跳过前两条查找,并且返回3条数据
db.test1.find().limit(3).skip(2)

집계 쿼리에서 limit와 skip은 시퀀스 관계를 가집니다.

여기에 이미지 설명 삽입

4.4.7 쿼리 정렬

쿼리 정렬은 쿼리 결과를 정렬하는 것을 의미하며, 여기서 1은 오름차순이고 -1은 내림차순입니다.

语法

db.COLLECTION_NAME.find().sort({
   
   KEY:1})

db.test1.find().sort({name:-1})

여기에 이미지 설명 삽입

4.4 문서 삭제

몽고에서 문서를 삭제한다는 것은 컬렉션의 데이터를 삭제하는 것을 의미합니다.

语法

단일 삭제

db.collection.deleteOne(filter, options)

다중 삭제

db.collection.deleteMany(filter, options)

매개변수 설명

  1. 필터 매개변수는 삭제해야 하는 문서 조건을 지정하는 데 사용됩니다.
  2. 옵션 매개변수를 사용하여 몇 가지 추가 옵션을 지정할 수 있습니다.

db.test1.deleteOne({
   
   type:null})
db.test1.deleteMany({
   
   type:null})

Supongo que te gusta

Origin blog.csdn.net/qq_40520912/article/details/130690196
Recomendado
Clasificación