programing

MongoDB(Python)를 사용하여 문서에 새 속성 삽입

skycolor 2023. 7. 6. 22:02
반응형

MongoDB(Python)를 사용하여 문서에 새 속성 삽입

저는 MONGoDB(CouchDB에서 제공)를 처음 사용하고 있으며 MONDB 파이썬 드라이버를 사용하여 MONGDB의 문서에 새로운 속성을 추가하는 데 문제가 있습니다.

예를 들어, 다음과 같은 문서가 있습니다.

{
'_id':123456,
'text':"this is nice"
}

그리고 다음과 같은 새 특성을 삽입합니다.

{
'_id':123456,
'text':"this is nice",
'created_time':datetime.datetime.now()
}

created_time 속성을 문서에 추가하려면 어떻게 해야 합니까?

감사합니다!

db.collection.update({'_id' : ObjectId(...)}, 
                     {'$set' : {'create_time' : datetime(..) }})

MongoDB 컬렉션의 모든 기존 문서에 새 속성을 삽입하려면 mongo 셸에서 다음 방법을 수행합니다.

db.collection.update( 
    {}, 
    {'$set': {"new_attribute":"attribute_value"}}, 
    false, 
    true
)
  • {}모든 레코드에 새로운 속성을 추가하기 위한 쿼리 기준입니다. 빈 개체를 전달합니다.{}
  • {'$set': {"new_attribute":"attribute_value"}}사용한다는 것은 다음을 의미합니다.$set교환원, 우리의 기록에 새 키를 삽입합니다."new_attribute"이 가치를 가질 것입니다."attribute_value"
  • false그건…upsert인수, mongo에게 일치하는 문서가 없을 때 새 문서를 삽입하지 말라고 합니다.
  • true그건…multi인수, 그것은 mongo에게 쿼리 기준을 충족하는 여러 문서를 업데이트하라고 말합니다.

자세한 내용은 https://docs.mongodb.com/manual/reference/method/db.collection.update/ 를 참조하십시오.

$set을 사용하여 문서를 업데이트할 수 있습니다.

http://www.mongodb.org/display/DOCS/Updating

또는 문서를 가져와서 (파이썬 코드를 사용하여) 편집한 후 다시 저장할 수 있습니다.

Taha의 응답에 추가하기 위해 다음을 사용하여 날짜/시간 속성을 삽입할 수 있습니다.currentDate:

db.getCollection("collection-name").update( 
{}, 
{
    $currentDate: {
        "date-field-name": { $type: "date" } // you can also use "timestamp" here
     }
}, 
false, true)

또는 사용할 수 있는 특정 날짜를 설정합니다.

db.getCollection("collection-name").update( 
{}, 
{
    $set: {
        "date-field-name": ISODate("2020-01-23T04:05:06.007Z")
     }
}, 
false, true)

관심 있는 업데이트가 생성되거나 업데이트된 날짜-시간에만 해당되는 경우 모델을 생성할 때 이 속성을 추가할 수 있습니다.

{
    timestamps: true
}

두 가지 속성을 추가할 것입니다.updatedAt그리고.createdAt그리고 mongodb가 자동으로 유지관리(생성 및 업데이트 시간)합니다.

언급URL : https://stackoverflow.com/questions/5056190/inserting-new-attribute-to-a-document-using-mongodb-python

반응형