[MONGODB] 어떻게 몽고 콘솔에서의 ObjectId가에 의해 객체를 검색 할 수 있습니까?
MONGODB어떻게 몽고 콘솔에서의 ObjectId가에 의해 객체를 검색 할 수 있습니까?
내가 아니라 기본 인터페이스, C # 및 펄에 대한 대답이 질문을 발견했습니다. 나는이 일 것이라고 생각 :
db.theColl.find ({_id : ObjectId가 ( "4ecbe7f9e8c1c9092c000027")})
쿼리 결과가 없습니다. 나는 db.theColl.find을하고 ()와 ObjectId가 잡는하여 4ecbe7f9e8c1c9092c000027을 발견했다. 이 컬렉션의 수천 개체가 있습니다.
나는 내가 mongodb.org 웹 사이트에서 찾을 수 있고 그것을 발견하지 않았다는 것을 모든 페이지를 읽었습니다. 할이 단지 이상한 일이 있습니까? 그것은 나에게 매우 일반적인 것 같다.
해결법
-
==============================
1.전혀 이상하지, 사람들이 모든 시간을. 확인 컬렉션 이름은 올바른 (경우 문제)이며, ObjectId가 정확한입니다.
전혀 이상하지, 사람들이 모든 시간을. 확인 컬렉션 이름은 올바른 (경우 문제)이며, ObjectId가 정확한입니다.
문서는 여기
> db.test.insert({x: 1}) > db.test.find() // no criteria { "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 } > db.test.find({"_id" : ObjectId("4ecc05e55dd98a436ddcc47c")}) // explicit { "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 } > db.test.find(ObjectId("4ecc05e55dd98a436ddcc47c")) // shortcut { "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 }
-
==============================
2.당신은 Node.js를를 사용하는 경우 :
당신은 Node.js를를 사용하는 경우 :
> var ObjectId = require('mongodb').ObjectId; > var id = req.params.gonderi_id; > var o_id = new ObjectId(id); > db.test.find({_id:o_id})
편집 : 새로운 ObjectId가 (ID)가 아닌 새로운 OBJECTID (ID)로 수정
-
==============================
3.특히 탭 완성과 함께, 더 쉬운 방법
특히 탭 완성과 함께, 더 쉬운 방법
db.test.find(ObjectId('4ecc05e55dd98a436ddcc47c'))
편집 : 또한 예쁘게 출력의 findOne 명령으로 작동합니다.
-
==============================
4.따옴표를 삽입 놓친 적이. 정확한 검색어는
따옴표를 삽입 놓친 적이. 정확한 검색어는
db.theColl.find( { "_id": ObjectId("4ecbe7f9e8c1c9092c000027") } )
-
==============================
5.난 그냥이 문제를 가지고 문서화 된대로 정확하게 일을하고 그것은 여전히 작동하지 않았다.
난 그냥이 문제를 가지고 문서화 된대로 정확하게 일을하고 그것은 여전히 작동하지 않았다.
귀하의 오류 메시지를보고 확실히 당신은 어떤 특수 문자는 복사하지 않도록합니다. 제가 오류가 발생했다
SyntaxError: illegal character @(shell):1:43
내가 문자 (43)에 갔을 때 그것은 열린 따옴표 후, 나는 그것을 붙여 그대로. 내가 거기에 내 커서를 놓고 히트 백 스페이스 아무것도가 오픈 견적을 제거해야 할 때 일이 나타나지 않았다, 단지 내 오브젝트 ID의 시작이었다. 다시 백 스페이스를 명중하고 그 다음에 내가의 인용 등을 넣어 쿼리를 실행하고 정확히 같은보고에도 불구하고, 일, 오픈 견적을 제거했습니다.
나는 WebMatrix에서 개발을하고 콘솔에서 개체 ID를 복사되었습니다. 당신은 WebMatrix의 콘솔에서 복사 할 때마다 오류가 발생할 몇 가지 눈에 보이지 않는 문자를 선택할 가능성이있어.
-
==============================
6.당신은 몽고의 CLI를 개설하면, 연결하고 오른쪽 데이터베이스에 승인했다.
당신은 몽고의 CLI를 개설하면, 연결하고 오른쪽 데이터베이스에 승인했다.
db.products.find({"_id": ObjectId("568c28fffc4be30d44d0398e")})
-
==============================
7.타일러 브록에서 답 : 당신이 몽고 쉘에서 작업하는 경우,이를 참조하십시오
타일러 브록에서 답 : 당신이 몽고 쉘에서 작업하는 경우,이를 참조하십시오
당신은 Node.js를를 사용하여 MongoDB를 사용하는 경우 나는 답을 썼다
당신은 ObjectId가로 ID를 변환 할 필요가 없습니다. 그냥 사용 :
db.collection.findById('4ecbe7f9e8c1c9092c000027');
이 수집 방법은 자동으로 ObjectId가로 ID를 변환합니다.
한편 :
db.collection.findOne는 ({ "_ ID": '4ecbe7f9e8c1c9092c000027는'})가 예상대로 작동하지 않습니다. 수동 ObjectId가로 ID를 전환했습니다.
즉 다음과 같이 수행 할 수 있습니다 :
let id = '58c85d1b7932a14c7a0a320d'; let o_id = new ObjectId(id); // id as a string is passed db.collection.findOne({"_id":o_id});
-
==============================
8.나는 당신에게이 같은 더 나은 쓰기 뭔가를 생각한다 :
나는 당신에게이 같은 더 나은 쓰기 뭔가를 생각한다 :
db.getCollection('Blog').find({"_id":ObjectId("58f6724e97990e9de4f17c23")})
-
==============================
9.MongoDB의 스티치 기능에서는 아래처럼 BSON을 사용하여 수행 할 수 있습니다 :
MongoDB의 스티치 기능에서는 아래처럼 BSON을 사용하여 수행 할 수 있습니다 :
follwing을 예처럼이 목적을 위해 BSON 유틸리티 패키지 ObjectId가 도우미를 사용하여
var id = "5bb9e9f84186b222c8901149"; BSON.ObjectId(id);
-
==============================
10.당신은 Node.js를를 사용하는 경우 :
당신은 Node.js를를 사용하는 경우 :
그 req.user에서 ObjectId가 형식입니다.
var mongoose = require("mongoose"); var ObjectId = mongoose.Schema.Types.ObjectId; function getUsers(req, res) User.findOne({"_id":req.user}, { password: 0 }) .then(data => { res.send(data);})g } exports.getUsers = getUsers;
-
==============================
11.OBJECTID 방법을 사용하려면 가져올 필요가 없습니다. 그것은 MongoDB의 객체에 이미.
OBJECTID 방법을 사용하려면 가져올 필요가 없습니다. 그것은 MongoDB의 객체에 이미.
VAR ObjectId가 = 새로운 db.ObjectId ( '58c85d1b7932a14c7a0a320d'); db.yourCollection.findOne ({_id : ObjectId가}, 기능 (ERR, 정보) { CONSOLE.LOG (정보) });
-
==============================
12.간단히 수행
간단히 수행
db.getCollection('test').find('4ecbe7f9e8c1c9092c000027');
from https://stackoverflow.com/questions/8233014/how-do-i-search-for-an-object-by-its-objectid-in-the-mongo-console by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽구스 (MongoDB를) 일괄 삽입? (0) | 2019.12.07 |
---|---|
[MONGODB] 날짜를 기준으로 반환 쿼리 (0) | 2019.12.07 |
[MONGODB] MongoDB를이 : 하나 개의 필드에있는 모든 문서를 업데이트 (0) | 2019.12.07 |
[MONGODB] '꽤'파일로 MongoDB의 쉘 출력을 인쇄하는 방법은 무엇입니까? (0) | 2019.12.07 |
[MONGODB] 어떻게 몽구스와 기존 모음에 액세스 할 수? (0) | 2019.12.07 |