programing

Mongo에서 사용되지 않는 필드를 제거하는 방법은 무엇입니까?

easyjava 2023. 6. 3. 08:52
반응형

Mongo에서 사용되지 않는 필드를 제거하는 방법은 무엇입니까?

문서 정의에서 일부 필드를 제거했습니다.모든 수집 문서에서 이 필드를 제거합니다.어떻게 해야 하나요?

시도:

db.collection.update(
    { '<field>': { '$exists': true } },  // Query
    { '$unset': { '<field>': true  } },  // Update
    false,                               // Upsert
    true                                 // Multi-update
)

어디에field사용되지 않는 필드입니다.collection제거된 컬렉션입니다.

일반 업데이트 명령은 다음 형식입니다.db.collection.update( criteria, objNew, upsert, multi ).그false그리고.true후행 인수를 사용하면 upsert 모드가 비활성화되고 다중 업데이트가 활성화되어 쿼리가 첫 번째 일치뿐만 아니라 컬렉션의 모든 문서를 업데이트할 수 있습니다.

MongoDB 2.2+용 업데이트

이제 upert 및 multi에 대한 위치 인수 대신 JSON 개체를 제공할 수 있습니다.

db.collection.update(
    { '<field>': { '$exists': true } },  // Query
    { '$unset': { '<field>': true  } },  // Update
    { 'multi': true }                    // Options
)

그냥 이런 것을 하라.

db.people.find().forEach(function(x) {
   delete x.badField;
   db.people.save(x);
})

오오 더$unset라고 대답했습니다.update() 여기도 꽤 멋집니다.

언급URL : https://stackoverflow.com/questions/8641340/how-to-remove-deprecated-fields-in-mongo

반응형