취미와 밥줄사이
[Python] MongoDB Insert Document 본문
document
- MongoDB에서 document는 SQL database에 record와 동일하다.
Collection에 삽입
- MongoDB에서 호출되는 record 또는 document를 collection에 삽입하려면 insert_one() 메서드를 사용합니다.
- insert_one() 메서드의 첫 번째 매개변수는 삽입하려는 문서의 각 필드 이름과 값을 포함하는 dictionary입니다.
-
# Insert a record in the "customers" collection import pymongo pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mydict = {"name":"John", "address":"Highway 37"} x = mycol.insert_one(mydict)
_id 필드 반환
- insert_one() 메서드는 삽입된 문서의 ID를 보유하는 삽입된 _id 속성이 있는 InsertOneResult 개체를 반환합니다.
-
# Insert another record in the "customers" collection, and return the value of the _id field mydict = {"name":"Peter", "address":"Lowstreet 27"} x = mycol.insert_one(mydict) print(x.inserted_id)
- _id 필드를 지정하지 않으면 MongoDB가 필드를 추가하고 각 document에 고유한 ID를 할당합니다.
- 위의 예에서는 _id 필드가 지정되지 않았으므로 MongoDB는 record(document)에 대해 고유한 _id를 할당했습니다.
다수의 Documents 삽입하기
- MongoDB의 컬렉션에 여러 documents를 삽입하려면 insert_many() 메서드를 사용합니다.
- insert_many()메서드의 첫 번째 매개변수는 삽입하려는 데이터가 포함된 dictionaries의 목록입니다.
-
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mylist = [ { "name": "Amy", "address": "Apple st 652"}, { "name": "Hannah", "address": "Mountain 21"}, { "name": "Michael", "address": "Valley 345"}, { "name": "Sandy", "address": "Ocean blvd 2"}, { "name": "Betty", "address": "Green Grass 1"}, { "name": "Richard", "address": "Sky st 331"}, { "name": "Susan", "address": "One way 98"}, { "name": "Vicky", "address": "Yellow Garden 2"}, { "name": "Ben", "address": "Park Lane 38"}, { "name": "William", "address": "Central st 954"}, { "name": "Chuck", "address": "Main Road 989"}, { "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) # print list of the _id values of the inserted documents: print(x.inerted_ids)
- insert_many() 메서드는 삽입된 documents의 ID를 보유하는 삽입된 _ids 속성이 있는 InsertManyResult 개체를 반환합니다.
지정된 ID로 여러 Documents 삽입
- MongoDB가 documents에 고유한 ID를 할당하지 않도록 하려면 문서를 삽입할 떄 _id 필드를 지정할 수 있습니다.
- 값은 고유합니다. 두 documents는 동일한 _id를 가질 수 없습니다.
-
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mylist = [ { "_id": 1, "name": "John", "address": "Highway 37"}, { "_id": 2, "name": "Peter", "address": "Lowstreet 27"}, { "_id": 3, "name": "Amy", "address": "Apple st 652"}, { "_id": 4, "name": "Hannah", "address": "Mountain 21"}, { "_id": 5, "name": "Michael", "address": "Valley 345"}, { "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"}, { "_id": 7, "name": "Betty", "address": "Green Grass 1"}, { "_id": 8, "name": "Richard", "address": "Sky st 331"}, { "_id": 9, "name": "Susan", "address": "One way 98"}, { "_id": 10, "name": "Vicky", "address": "Yellow Garden 2"}, { "_id": 11, "name": "Ben", "address": "Park Lane 38"}, { "_id": 12, "name": "William", "address": "Central st 954"}, { "_id": 13, "name": "Chuck", "address": "Main Road 989"}, { "_id": 14, "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) # print list of the _id values of the inserted documents: print(x.inserted_ids)
REFERENCE
https://www.w3schools.com/python/python_mongodb_insert.asp
'DB' 카테고리의 다른 글
[Python] MongoDB Query (0) | 2021.10.28 |
---|---|
[Python] MongoDB Find (0) | 2021.10.28 |
[Python] MongoDB Create Collection (0) | 2021.10.28 |
[Python] MongoDB Create Database (0) | 2021.10.28 |
[Python] MongoDB (0) | 2021.10.28 |