MongoDB에서 자주 사용하는 데이터 유형 및 기본 작업

No.1 MongoDB의 일반적인 데이터 유형


몽고DB의 문서는 json과 유사하다. 우리는 json에서 가장 자주 사용하는 데이터 유형은null,bool, 수조, 문자열, 데이터, json 대상 등이 있다는 것을 안다.상대적으로 적다. 예를 들어 시간 유형의 데이터에 대해 json은 표시할 수 없는 것이고 MongoDB에서 json에 대해 간단한 최적화를 했다. 예를 들어 json이지만 json도 아니다.천천히 얘기해 볼게요.
MongoDB의 상용 데이터 유형은 MySQL과 비슷해서 비교해 볼 수 있습니다.일반적인 데이터 유형은 다음과 같습니다.

1、null


빈 값이나 존재하지 않는 필드를 표시하는 데 사용
{"x":null}

2、bool


이것은 이해하기 쉽다,true or false
{"x":true}

3. 정수


MongoDB 자체 셸에서는 사용할 수 없습니다. 셸의 경우 함수를 사용하여 정수를 표시해야 합니다.
{"x":NumberInt("3")}
하면, 만약, 만약...
{"x":3}
이곳의 3은 더블로 표시된다.

4, 문자열


가장 자주 사용하는 데이터 형식
{"x":"string"}

5. 대상 id


객체 id는 12바이트의 고유 ID입니다.
{"x":ObjectId()}
MongoDB의 데이터 기록, 즉 문서 안에 있어야_id키, 이거_id키는 MySQL의 자증 키와 같은 유일한 표지로 간단하게 이해할 수 있지만 자증으로 설정하지 않습니다. 분포식 환경에서 동기화되어 자동으로 키 값을 증가시키는 것은 시간도 걸리고 힘도 들기 때문입니다. MongoDB는 분포식 장면에서의 성능을 확보하기 위해 자체 생성 방식을 통해_id,_id 유형을 ObjectId 유형이라고 합니다.
이 유형은 12바이트의 저장 공간을 사용하는데, 바이트당 2비트 16진수로 24비트의 문자열이다.12바이트의 생성 방식은 다음과 같습니다.
0, 1, 2, 3비트는 타임 스탬프이며 초 수준의 고유성을 제공합니다.
4, 5, 6비트는 기계의 유일한 표지부호로 기계 수준의 유일성을 제공한다
7, 8비트는 현재 생성된 ObjectId의 프로세스 식별자로서 서로 다른 프로세스의 유일성을 확보한다
9, 10, 11비트는 같은 초의 같은 프로세스에서 발생하는 ObjectId의 유일성을 보장하는 계수기이다.

6. 날짜 유형


날짜 형식은 표준 기원에서 시작하는 밀리초 수를 저장하고 시간대를 저장하지 않습니다.
{"x":new Data()}
예는 다음과 같습니다.

> db.num.insert({"age": new Date()})
WriteResult({ "nInserted" : 1 })
> db.num.find()
{ "_id" : ObjectId("5f96b5e15e5c5ff982b9c6af"), "age" : 28 }
{ "_id" : ObjectId("5f9835d0f24f04e23fb63878"), "age" : 3 }
{ "_id" : ObjectId("5f983621f24f04e23fb63879"), "age" : 3 }
{ "_id" : ObjectId("5f9838d2f24f04e23fb6387a"), "age" : ISODate("2020-10-27T15:12:18.739Z") }

7, 배열


값의 집합이나 목록은 수조로 표시할 수 있다
{"x":["a","b","c"]}

8, 내장 문서


문서에는 다른 문서가 포함될 수 있습니다.
{"x":{"foo":"bar"}}

9. 코드


문서에 JavaScript 코드 포함 가능
{"x":function(){/*-----*/}}

NO.2 컬렉션 문서의 기본 작업


이 부분은 아마도 비교적 관건적인 부분일 것이다. MySQL에서 삭제 수정은 가장 기초적인 기능이고 MongoDB에서도 이러한 기술은 필수적이다.

컬렉션 관련 작업


1. 조회 집합


현재 데이터베이스 아래의 집합을 보면 showcollections 명령을 사용할 수 있습니다.

2. 컬렉션 만들기


MongoDB에서 집합을 따로 만들 필요가 없습니다. 일반적인 상황에서 문서를 집합에 직접 삽입하면 집합이 자동으로 생성되는 것을 볼 수 있습니다. 예를 들어 다음과 같습니다.

> show collections #  
num
person

> db.aaa.insert({"name":"yeyz"})
WriteResult({ "nInserted" : 1 })

> show collections # , aaa 
aaa
num
person

3. 컬렉션 삭제


> show collections
aaa
num
person
> 
> db.aaa.drop() # 
true
> show collections
num
person
집합에 관해서 가장 흔히 볼 수 있는 조작은 바로 위의 몇 개이다.집합을 조회하고, 집합을 만들고, 삭제합니다.

문서 관련 작업을 보려면 다음과 같이 하십시오.


1. 문서 삽입


위의 예에서, 우리는 insert 조작을 사용하여 문서를 삽입하는 방법을 보여 주었다.나는 두 가지 흔히 볼 수 있는 방법을 함께 썼다.

 : 
> db.aaa.insert({"name":"yeyz"})
WriteResult({ "nInserted" : 1 })

 : , 
> record={"name":"zhangsan"}
{ "name" : "zhangsan" }
> db.aaa.insert(record)
WriteResult({ "nInserted" : 1 })

 
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }

2. 문서 질의


문서를 조회하는 방법이 비교적 많기 때문에 전개적으로 말하자면 매우 오래라고 할 수 있다. 우리의 SQL 문법처럼 여러 가지 쓰기 방법이 있다. 여기서 가장 간단한 것은 모든 대상을 찾거나 한 대상을 찾거나 어떤 대상을 찾는 방법이다.예:

# 
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }
> 
>
# 
> db.aaa.findOne()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }

# , name=zhangsan 
> db.aaa.find({"name":"zhangsan"})
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }

3. 레코드 삭제


레코드를 삭제하는 방법도 간단합니다.

# 
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }

# name=zhangsan 
> db.aaa.remove({"name":"zhangsan"})
WriteResult({ "nRemoved" : 1 })
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }

#  name=yeyz 
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
조건을 필터링하지 않으려면 다음을 직접 사용할 수 있습니다.
db.aaa.remove () 로 모든 기록을 삭제합니다.

4. 기록 업데이트


기록을 갱신하는 것은 MongoDB에서 좀 번거롭다. 예를 들어 아래의 장면이다.

# 
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }
{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }

# 
> record={"name" : "yeyz","age":18}
{ "name" : "yeyz", "age" : 18 }

# 
> db.aaa.update({"name" : "yeyz"},record)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz", "age" : 18 }
{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }

#  age 
> record.age=20
20

# 
> db.aaa.update({"name" : "yeyz"},record)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.aaa.find()
{ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz", "age" : 20 }
{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }
위의 방법은 조건이 유일하게 일치할 때 문제가 없지만 조건이 유일하게 일치하지 않는 장면에서 약간의 위험이 존재할 수 있습니다. 다음에 다시 공유합시다. 오늘은 이만큼만 합시다.
매일 내용이 많지 않으니 천천히 해라. 조금씩 그것을 이해해라...안녕히 주무세요.
이상은 바로 MongoDB에서 자주 사용하는 데이터 유형과 기본 조작에 대한 상세한 내용입니다. MongoDB 데이터 유형과 기본 조작에 관한 더 많은 자료는 저희 다른 관련 글을 주목해 주십시오!

좋은 웹페이지 즐겨찾기