2013-02-01 2 views
0

배열 필드에 $ unset 연산자를 사용하고 쿼리와 일치하는 요소를 제거 할 수 있습니까? 예를 들어 필드 "파일"배열에서 35 개를 제거하려고합니다.배열 요소 설정 해제

{ 
    _id : 1, 
    files : [1,12,35,223] 
} 
// Ive tried this but it does not work 
db.col.update({_id : 1}, {$unset : { files : 35}}) 
// or this does not work 
db.col.update({_id : 1}, {$unset : { "files.35" : 1}}) 

답변

2

$pull operator을 사용해 보셨나요? 대신 $pull을 사용할 수 있습니다

db.col.update({_id: 1}, {$pull: {files: 35}}) 
0

: 마찬가지로

db.col.update({ _id : 1 }, {$pull: { files : 35 } })