Mongodb 인라인 배열 지정 객체 삭제
2229 단어 mongo
The $pull operator removes all instances of a value from an existing array, as in the following prototype:
db.collection.update( { field: <query> }, { $pull: { field: <query> } } );
그룹의 값이 문자열이나 숫자일 때pull 또는pullAll을 사용하면 편리합니다.field 뒤의 값은 그룹의 값을 직접 따라가면 됩니다.만약 그룹의 값이 대상일 때, 사실은 매우 간단하다.field 다음에 대상의 조건 필드와 값을 따라가면 된다.
e.g.:
db.test.find({"msgid":170}).toArray()
[
{
"_id" : ObjectId("52fd7abe5cf0fb00ee4775bf"),
"msgid" : NumberLong(170),
"msg" : [
{
"comcont" : "heddhefasdfa",
"comtime" : NumberLong(1392346547)
},
{
"comcont" : "heddhefasdfa",
"comtime" : NumberLong(1392346667)
}
]
}
]
comtime가 1392346547인 대상을 삭제합니다.
db.test.update({"msgid":170},{"$pull":{"msg":{"comtime":1392346547}}})
db.test.find({"msgid":170}).toArray()
[
{
"_id" : ObjectId("52fd7abe5cf0fb00ee4775bf"),
"msgid" : NumberLong(170),
"msg" : [
{
"comcont" : "heddhefasdfa",
"comtime" : NumberLong(1392346667)
}
]
}
]
이전에 많은 방법을 시도해 보았지만 모두 틀렸는데, 원래는pull용법으로 쓴 것이 틀렸다.
참조 자료:
http://stackoverflow.com/questions/15641492/mongodb-remove-object-from-array
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
NestJS - 1. mongodb docker 환경 세팅하기그러나 나는 프로젝트를 기본적으로 Docker에 올려서 하는 편인데, Nest로도 DB Docker랑 연결해서 초기 세팅을 해보고 싶었다... 그래서 검색해보는데, 자꾸 NestJS 프로젝트도 Docker에 올리는게...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.