• 회원가입
  • 로그인
  • 구글아이디로 로그인

[mongodb] Python - MongoDB Insert (데이터 삽입)

5739  

목차

  1. collection에 데이터 입력
  2. Collection에 document 1개 입력
  3. _id 필드 - 데이터의 고유 색인번호
  4. Collection에 document 다수 입력
  5. 지정 _id로 Collection에 document 여러 개 입력 ★

 

collection에 데이터 입력

 

1. 

데이터 입력은 collection 객체의 아래 메서드 이용.

insert_one() 메서드 : 컬렉션에 문서 1개 삽입.
insert_many() 메서드 : 컬렉션에 문서 다수 삽입.

※ 참고
MongoDB의 document(문서)는 MySQL의 recode(레코드)에 대응.
 
2.
insertOne()메소드의 첫 번째 매개변수는 삽입하려는 문서에 있는 각 필드의 이름과 값을 포함하는 객체임. 또한 오류 또는 삽입 결과로 작업할 수있는 콜백함수를 사용.


 

Collection에 document 1개 입력

※ collection 객체의 insert_one() 메서드 이용.

 

import pymongo


myclient = pymongo.MongoClient('mongodb://localhost:27017/')

mydb = myclient['hz']

mycol = mydb["hz_member"]

mydict = { "mb_name": "homzzang", "mb_level": "10" }

x = mycol.insert_one(mydict)

print(x)

 

결과값: <pymongo.results.InsertOneResult object at 0x00000210568CC5C0> 

참고 : 없는 컬렉션에 문서 삽입 시, MongoDB가 컬렉션을 자동 생성.
 

_id 필드 - 데이터의 고유 색인번호


1.
insert_one()
 메서드는 InsertOneResult 객체 반환.
InsertOneResult 객체엔 문서 고유 ID인 insert_id 속성 내장.

 

insert_many() 메서드는 InsertManyResult 객체 반환.
InsertManyResult 객체엔 문서 고유 ID인 insert_ids 속성 내장.

 

2.

_id 필드 지정 안 하면 MongoDB가 필드 추가 후, 각 문서에 고유 ID 할당.

※ 위 예제 경우, id필드 지정 없어, MongoDB가 고유 _id 할당.

※ 직접 지정 시, _id필드 값은 각 문서에 고유하게 설정해야 함. 

 


[예제]

 

import pymongo


myclient = pymongo.MongoClient('mongodb://localhost:27017/')

mydb = myclient['hz']

mycol = mydb["hz_member"]

mydict = { "mb_name": "sinbi", "mb_level": "9" }

x = mycol.insert_one(mydict)

print(x.inserted_id)

 

결과값: 5fb337cb224168c056ffc3f9 

 

Collection에 document 다수 입력

※ collection 객체의 insert_many() 메서드 이용.

 

insert_many() 메소드 의 첫 번째 매개 변수는 삽입하려는 데이터가 있는 dictionary 포함하는 List

 


[예제] 

 

import pymongo


myclient = pymongo.MongoClient('mongodb://localhost:27017/')

mydb = myclient['hz']

mycol = mydb["hz_member"]

mylist = [

    {"mb_name": 'AAA', "mb_level": '1'},

    {"mb_name": 'BBB', "mb_level": '2'},

    {"mb_name": 'CCC', "mb_level": '2'},

    {"mb_name": 'DDD', "mb_level": '3'},

    {"mb_name": 'EEE', "mb_level": '3'},

    {"mb_name": 'FFF', "mb_level": '3'},

    {"mb_name": 'GGG', "mb_level": '4'},

    {"mb_name": 'HHH', "mb_level": '4'},

    {"mb_name": 'III', "mb_level": '4'},

    {"mb_name": 'JJJ', "mb_level": '4'},

    {"mb_name": 'KKK', "mb_level": '5'},

    {"mb_name": 'LLL', "mb_level": '5'},

    {"mb_name": 'MMM', "mb_level": '5'},

    {"mb_name": 'NNN', "mb_level": '5'}

]


x = mycol.insert_many(mylist)

print(x.inserted_ids)


결과값: 

[ObjectId('5fb3520abec26d5d8a5f852a'), ObjectId('5fb3520abec26d5d8a5f852b'), ObjectId('5fb3520abec26d5d8a5f852c'), ObjectId('5fb3520abec26d5d8a5f852d'), ObjectId('5fb3520abec26d5d8a5f852e'), ObjectId('5fb3520abec26d5d8a5f852f'), ObjectId('5fb3520abec26d5d8a5f8530'), ObjectId('5fb3520abec26d5d8a5f8531'), ObjectId('5fb3520abec26d5d8a5f8532'), ObjectId('5fb3520abec26d5d8a5f8533'), ObjectId('5fb3520abec26d5d8a5f8534'), ObjectId('5fb3520abec26d5d8a5f8535'), ObjectId('5fb3520abec26d5d8a5f8536'), ObjectId('5fb3520abec26d5d8a5f8537')]


지정 _id로 Collection에 document 여러 개 입력 ★

※ collection 객체의 insert_many() 메서드 이용.

 

import pymongo


myclient = pymongo.MongoClient('mongodb://localhost:27017/')

mydb = myclient['hz']

mycol = mydb["hz_member"]

mylist = [

    { "_id": 1,  "mb_name": 'AAA', "mb_level": '1'},

    { "_id": 2,  "mb_name": 'BBB', "mb_level": '2'},

    { "_id": 3,  "mb_name": 'CCC', "mb_level": '2'},

    { "_id": 4,  "mb_name": 'DDD', "mb_level": '3'},

    { "_id": 5,  "mb_name": 'EEE', "mb_level": '3'},

    { "_id": 6,  "mb_name": 'FFF', "mb_level": '3'},

    { "_id": 7,  "mb_name": 'GGG', "mb_level": '4'},

    { "_id": 8,  "mb_name": 'HHH', "mb_level": '4'},

    { "_id": 9,  "mb_name": 'III', "mb_level": '4'},

    { "_id": 10,  "mb_name": 'JJJ', "mb_level": '4'},

    { "_id": 11,  "mb_name": 'KKK', "mb_level": '5'},

    { "_id": 12,  "mb_name": 'LLL', "mb_level": '5'},

    { "_id": 13,  "mb_name": 'MMM', "mb_level": '5'},

    { "_id": 14,  "mb_name": 'NNN', "mb_level": '5'}

]


x = mycol.insert_many(mylist)

print(x.inserted_ids)


결과값: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] 



분류 제목
module Python - random.normalvariate() 메서드 △ - 정규분포 (확률이론용) 기반 랜덤 …
module Python - random.vonmisesvariate() 메서드 △ - 폰미제스분포 (방향통계) 기반 랜…
module Python - random.paretovariate() 메서드 △ - 파레토분포 (확률이론) 기반 랜덤 부…
module Python - random.weibullvariate() 메서드 △ - 베이블분포 (통계) 기반 랜덤 부동…
module Python - requests 모듈 메서드 종류 (※ 요청 모듈)
module Python - requests.delete() 메서드 - 지정 URL에 DELETE 요청 보냄. (= de…
module Python - requests.get() 메서드 - 지정 URL에 GET 요청 보냄. (= get메서드 =…
module Python - requests.head() 메서드 - 지정 URL에 HEAD 요청 보냄. (= head메서…
module Python - requests.patch() 메서드 △ - 지정 URL에 PATCH 요청 보냄. (= pa…
module Python - requests.post() 메서드 -
module Python - requests.put() 메서드 △ - 지정 URL에 PUT 요청 보냄. (= put메서드…
module Python - requests.request() 메서드 △ - 지정 메서드의 요청을 지정 URL로 보냄. …
function Python - abs() 함수 ★ - 숫자의 절대값 반환. (= abs함수 = 앱스함수/에이비에스함수/앱솔…
function Python - all() 함수 - 반복 가능 객체의 요소가 모두 True인지 체크. (= all함수 = 올…
function Python - any() 함수 - 반복 가능 객체의 요소가 하나라도 True인지 체크. (= any함수 =…
function Python - ascii() 함수 - 객체의 읽기 가능 버전 반환. (= ascii함수 = 아스키함수)
function Python - bin() 함수 - 정수의 이진수 값 반환. (= bin함수 = 빈함수/바이너리함수)
function Python - bool() 함수 ★ - 객체의 참거짓 반환. (= 참인지 거짓인지 판별 = bool함수 =…
function Python - bytearray() 함수 - 바이트 배열 생성. (= bytearray함수 = 바이트어레이…
function Python - bytes() 함수 - 바이트 객체 반환. (= bytes함수= 바이츠함수)
5/24
목록
찾아주셔서 감사합니다. Since 2012