반응형
파이썬을 사용하여 문자열을 사용하여 MongoDB에 _id를 쿼리하는 올바른 방법은 무엇입니까?
저는 피몽고 드라이버를 사용하고 있습니다.다음과 같이 문자열을 사용하여 문서의 _id 필드를 쿼리할 수 있습니다.
thing = db.things.find_one({'_id':'4ea113d6b684853c8e000001'})
하지만 효과가 없습니다.내가 뭘 잘못하고 있는 거지?
다음과 같아야 합니다.
from pymongo.objectid import ObjectId
thing = db.things.find_one({'_id': ObjectId('4ea113d6b684853c8e000001') })
편집: 현재 가져오기는 다음과 같습니다.from bson.objectid import ObjectId
파이몽고는 구조를 바꿨습니다. ObjectID
에서 더 이상 가져오지 않음pymongo
단, 에서.bson
이제 다음과 같이 해야 합니다.
from bson.objectid import ObjectId
thing = db.things.find_one({'_id': ObjectId('4ea113d6b684853c8e000001')})
pypi/pymongo에 따라 "bson" 패키지를 설치하지 마십시오.PyMongo는 자체 bson 패키지와 함께 제공되며, "pip install bson"을 수행하면 PyMongo와 호환되지 않는 타사 패키지가 설치됩니다.
인쇄 방법:
import pymongo
from bson.objectid import ObjectId
print(db.things.find_one({'_id': ObjectId('4ea113d6b684853c8e000001')}))
인쇄하지 않으려면 다른 변수에 저장
thing = db.things.find_one({'_id':ObjectId('4ea113d6b684853c8e000001')})
효과가 있어야 합니다.
PyMongo 문서가 현재 버전과 동기화되지 않은 것 같습니다.ObjectId는 이제 bson.objectid 네임스페이스 아래에 있습니다.제 기억이 맞다면, 버전 2.3 이후로 그렇게 되어 있습니다.bson.objectid 가져오기 ObjectId에서 사용합니다.
언급URL : https://stackoverflow.com/questions/7846001/what-is-the-correct-way-to-query-mongodb-for-id-using-string-by-using-python
반응형
'programing' 카테고리의 다른 글
data.table에서 참조하여 행을 삭제하는 방법은 무엇입니까? (0) | 2023.07.10 |
---|---|
ASP.NET ID 인터페이스에서 기본 키와 외부 키에 문자열을 사용하는 이유는 무엇입니까? (0) | 2023.07.10 |
Namecheap을 사용하여 Firebase에서 사용자 지정 도메인을 확인할 수 없음 (0) | 2023.07.10 |
특수 문자 VBA Excel 제거 (0) | 2023.07.10 |
모노가 비어 있는 경우에만 작업을 수행하고 비어 있지 않은 경우에는 오류를 발생시키는 방법 (0) | 2023.07.10 |