본문 바로가기
파이썬

파이썬 Pymongo, 목록 필드에 대한 쿼리 및 / 또는

by º기록 2021. 2. 9.
반응형

다음과 같은 문서가 포함 된 컬렉션이 있습니다.

{
    _id: 5,
    vals: [100, 1100, 1500]
},
{
    _id: 10,
    vals: [1100, 1700]
}

vals 필드에 다음이있는 문서를 어떻게 쿼리 할 수 ​​있습니까?

다음과 같은 이해력 마법을 사용할 수 있습니다.

g = lambda codes: (
    d for d in collection.find() if any(code in d["vals"] for code in codes)
)
g([100, 1700]).next()

또는 AND의 경우 :

g = lambda codes: (
    d for d in collection.find() if all(code in d["vals"] for code in codes)
)
g([100, 1100]).next()

드라이버로 할 수있는 마법 찾기가 있다면 약간 어색해 보입니다.

 

해결 방법

 

yourmongocoll.find({"vals":1100})
yourmongocoll.find({"$or":[ {"vals":1700}, {"vals":100}]})
yourmongocoll.find({"$and":[ {"vals":100}, {"vals":1100}]})



 

참조 페이지 https://stackoverflow.com/questions/12064764

 

 

반응형

댓글