댓글 목록

파이썬 MongoDB 문서 삽입

페이지 정보

작성자 운영자 작성일 18-06-10 23:13 조회 1,603 댓글 0

동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.

MongoDB의 문서는 SQL 데이터베이스의 레코드와 같습니다.


컬렉션에 삽입


레코드를 MongoDB에서 호출 할 때 문서에 삽입하려면 콜렉션에 insert_one() 메소드를 사용합니다.


insert_one() 메서드의 첫 번째 매개 변수는 삽입 할 문서의 각 필드 이름과 값을 포함하는 dictionary입니다.


"customers"컬렉션에 레코드 삽입 :

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mydict = { "name": "Hong gildong", "address": "Jong-ro 1123" }

x = mycol.insert_one(mydict)

_id 필드 반환


insert_one() 메서드는 삽입 된 문서의 ID를 보유하는 inserted_id 속성이 있는 InsertOneResult 객체를 반환합니다.


"customers"컬렉션에 다른 레코드를 삽입하고 _id 필드의 값을 반환하는 코드:

mydict = { "name": "Lee sunsin", "address": "Kangnam-gu seocho-dong 123" }

x = mycol.insert_one(mydict)

print(myid.inserted_id)

_id 필드를 지정하지 않으면 MongoDB가 자동으로 필드를 추가하고 각 문서에 고유 한 ID를 할당합니다.

위의 예제에서는 _id 필드가 지정되지 않았으므로 MongoDB는 레코드 (문서)에 대해 고유 한 _id를 할당했습니다.


여러 문서 삽입


MongoDB의 콜렉션에 여러 문서를 삽입하려면 insert_many() 메소드를 사용한다.

insert_many() 메서드의 첫 번째 매개 변수는 삽입하려는 데이터가 포함 된 dictionaries을 포함하는 목록입니다.

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "name": "김춘수", "address": "Korng-ro 12"},
  { "name": "이순신", "address": "Jong-ro 321"},
  { "name": "장기영", "address": "Daewharo 223"},
  { "name": "황해", "address": "Tacha 432"},
  { "name": "이태종", "address": "jong-ro 2312"},
  { "name": "이문덕", "address": "guri-ro 32"},
  { "name": "서재필", "address": "Jamsil-ro 32"},
  { "name": "안창호", "address": "Kangbuk-ro 23"},
  { "name": "강감찬", "address": "Seocho-ro 234"},
  { "name": "사임당", "address": "Kangnam-gu 324"},
  { "name": "이율곡", "address": "Chungmu-ro 234"},
  { "name": "한명회", "address": "CHonggu-ro 23"}
]

x = mycol.insert_many(mylist)

#print list of the _id values of the inserted documents:
print(x.inserted_ids)

insert_many() 메서드는 삽입 된 문서의 ID를 보유하는 inserted_ids 속성을 가진 InsertManyResult 객체를 반환합니다.


지정된 ID로 여러 문서 삽입


MongoDB가 당신에게 고유 한 id를 할당하는 것을 원하지 않는다면, 문서를 삽입 할 때 _id 필드를 지정할 수 있습니다.


값은 고유해야 함을 기억하십시오. 두 개의 문서가 동일한 _id를 가질 수 없습니다.

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "_id": 1, "name": "Kim", "address": "Jong-ro 11"},
  { "_id": 2, "name": "Han", "address": "Jong-ro 22"},
  { "_id": 3, "name": "Lee", "address": "Jong-ro 33"},
  { "_id": 4, "name": "Won", "address": "Jong-ro 44"},
  { "_id": 5, "name": "Ahn", "address": "Jong-ro 55"},
  { "_id": 6, "name": "Ryu", "address": "Jong-ro 66"},
  { "_id": 7, "name": "Whang", "address": "Jong-ro 77"},
  { "_id": 8, "name": "Hong", "address": "Jong-ro 88"},
  { "_id": 9, "name": "Son", "address": "Jong-ro 99"},
  { "_id": 10, "name": "Seok", "address": "Daewha 11"},
  { "_id": 11, "name": "Tak", "address": "Daewha 22"},
  { "_id": 12, "name": "Jeong", "address": "Daewha 33"},
  { "_id": 13, "name": "Jang", "address": "Daewha 44"},
  { "_id": 14, "name": "Park", "address": "Daewha 55"}
]

x = mycol.insert_many(mylist)

#print list of the _id values of the inserted documents:
print(x.inserted_ids)


댓글목록 0

등록된 댓글이 없습니다.