MongoDB 콘솔에서 _id로 삭제
MongoDB 콘솔에서 ID별로 레코드를 삭제하려면 어떻게 해야 합니까?여기 제 컬렉션이 있습니다.
[
{
"_id" : { "$oid" : "4d512b45cc9374271b02ec4f" },
"name" : "Gazza"
},
{
"_id" : { "$oid" : "4d513345cc9374271b02ec6c" },
"name" : "Dave",
"adminOf" : { },
"email" : "email@email.com"
}
]
또, 지금까지 사용해 본 결과, 동작하지 않는 커맨드는 다음과 같습니다.
db.test_users.remove( {"_id":{"$oid":new ObjectId("4d512b45cc9374271b02ec4f")}});
db.test_users.remove( {"_id":{"$oid":"4d513345cc9374271b02ec6c"}});
db.test_users.remove( {"_id":"4d512b45cc9374271b02ec4f"});
db.test_users.remove( {"_id":new ObjectId("4d512b45cc9374271b02ec4f")});
이름에 의한 삭제는 다음과 같이 동작합니다.
db.test_users.remove( {"name":"Gazza"});
이것은 mongodb.org의 브라우저 셸에 기재되어 있습니다.
감사해요.
아주 가까워요.이 조작은 유효합니다.
db.test_users.deleteOne( {"_id": ObjectId("4d512b45cc9374271b02ec4f")});
즉, ObjectId에는 새로운 것이 필요하지 않습니다.
에서는, 「 」, 「 」/「 」가 되고 있는 것에 해 주세요.remove()
는 폐지되어 있습니다.deleteOne
★★★★★★★★★★★★★★★★★」deleteMany
대신 사용해야 합니다.
ID 목록으로 삭제할 경우 이 방법이 적합합니다.
db.CollectionName.remove({
"_id": {
$in: [
ObjectId("0930292929292929292929"),
ObjectId("0920292929292929292929")
]
}
})
예에서 _id는 객체이므로 객체를 전달하기만 하면 됩니다.
'db.test_users.remove({"_id": { "$oid" : "4d513345cc9374271b02ec6c" }})'
이거면 될 것 같아
편집: 컴파일된 것을 확인하기 위해 후행 패런을 추가했습니다.
답변은 mongodb.org의 웹 콘솔/셸이 예상과 다르게 동작한다는 것입니다.집에 설치되어 있는 버전은 문제없이 정상적으로 동작했습니다.즉, 자동 생성된 _id는 다음과 같이 웹 쉘에 저장됩니다.
"_id" : { "$oid" : "4d512b45cc9374271b02ec4f" },
집에서 동일한 문서 설정과 자동 생성된 _id가 다음과 같이 저장되었습니다.
"_id" : ObjectId("4d5192665777000000005490")
쿼리는 후자에 대해 문제없이 작동했습니다.
먼저 오브젝트를 취득하다mongodb ObjectId = require(mongodb)의 ID 함수입니다.오브젝트 ID;
삭제 기능을 사용하여 _id를 호출할 수 있습니다.
"_id" : ObjectId ("4d519266770000005490")
복제 세트에 여러 mongodb 노드가 있습니까?
(Robomongo gui mongo 쉘을 사용하여 사용하고 있습니다.다른 경우도 마찬가지입니다) 올바른 삭제 구문을 찾았습니다.
db.test_users.remove({"_id": ObjectId("4d512b45cc9374271b02ec4f")})
...복제 세트의 기본 노드에 연결하지 않으면 작동하지 않습니다.
저도 방금 이걸 접한 적이 있는데, 이 변형이 효과가 있었어요.
db.foo.remove({**_id**: new ObjectId("4f872685a64eed5a980ca536")})
db.collection("collection_name").deleteOne({_id:ObjectId("4d513345cc9374271b02ec6c")})
이 게시물은 오래되었지만 collection.remove는 권장되지 않습니다. collection.delete_one
대신 사용해야 합니다!
다음과 같은 더미 컬렉션이 있다고 가정합니다.
{ "_id" : ObjectId("5ea53fedaa79db20d4e14284"), "item" : "planner", "qty" : 75 }
사용방법:
db.inventory.deleteOne({ _id: ObjectId("5ea53fedaa79db20d4e14284") })
다음과 같은 응답으로 삭제됩니다.
{ "acknowledged" : true, "deletedCount" : 1 }
바로 그거야.
db.getCollection("test_users").deleteOne({_id: new ObjectId("4d512b45cc9374271b02ec4f")})
Attribution : 공평하게 말하면 이것은 GUI 클라이언트인 "러시아어"에서 사용되는 구문입니다.제 것은 _id가 없는 나쁜 "업버트"에 의한 잠복적인 원인이었습니다.고유한 인덱스를 추가할 때만 표시됩니다.
솔루션 및 예:
1- C:\MongoDB\Server\3.2\bin>mongo(아직 데이터베이스에 연결되어 있지 않으므로 명령어를 발행하지 마십시오.데이터베이스 서버 mongodb에만 연결되어 있습니다).
2-
show dbs analytics_database 0.000GB 로컬 0.000GB test_database 0.000GB
3-
db test_switched to db test_switched 를 사용합니다.
4-
db.Collection.remove("_id": ObjectId("5694a3590f6d451c15002e")), 1); WriteResult("nRemoved" : 1 )
WriteResult({nRemoved" : 1 })가 0이 아닌 1임을 알 수 있습니다.
다 했어요.
키워드 오브젝트 ID를 전달할 필요가 없는 새로운 구문이 있습니다.이렇게 통과하면 됩니다.
db.orders.remove({"_id":"62514d42f5aec503b2e0f2a9"})
다음과 같이 remove() 메서드를 실행합니다.
db.student.remove({ "_id" : ObjectId("627f593641bcd9e215bc949d")})
OUTPUT : WriteResult({ "nRemoved" : 1 })
언급URL : https://stackoverflow.com/questions/4932928/remove-by-id-in-mongodb-console
'programing' 카테고리의 다른 글
AngularJS - 속성 지시 입력 값 변경 (0) | 2023.03.26 |
---|---|
AngularJS - 서버측 렌더링 (0) | 2023.03.26 |
Word press jquery 및 $ 기호 사용 방법 (0) | 2023.03.26 |
Node.js를 사용하여 복잡한 JSON 응답을 반환하는 방법 (0) | 2023.03.26 |
데이터베이스의 테이블 열에 색인을 작성할 시기를 결정하시겠습니까? (0) | 2023.03.26 |