취미와 밥줄사이

[Python] MongoDB Insert Document 본문

DB

[Python] MongoDB Insert Document

취미와 밥줄사이 2021. 10. 28. 15:15

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

 

Python MongoDB Insert Document

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

'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