복붙노트

[MONGODB] $ 또는 대에 $를 사용하여 MongoDB의 쿼리의 최적화 방법

MONGODB

$ 또는 대에 $를 사용하여 MongoDB의 쿼리의 최적화 방법

응용 프로그램을 구현하는 약 10 이메일 ID 목록에서 메일 아이디 존재 테이블 찾습니다. $ 또는과에서 $를 사용했습니다.

달러는 더 나은 성능을하지만 중요하지를 줄 것으로 보인다. 하나 이상의 다른보다 최적화되어 있습니까?

해결법

  1. ==============================

    1.MongoDB의 워드 프로세서는 대답을 :

    MongoDB의 워드 프로세서는 대답을 :

    "나 동일한 필드 값 평등 확인은 <식>과 $를 사용하는 경우, $ OR 연산자를 통해 운영자의 선택 $."

  2. ==============================

    2."의"동안 "$ 또는"는 항상 작업 사용 "은 $ 가능한 쿼리 최적화 등 더 효율적으로 처리합니다. "

    "의"동안 "$ 또는"는 항상 작업 사용 "은 $ 가능한 쿼리 최적화 등 더 효율적으로 처리합니다. "

    또한 "에서 $는"더 가독성이있다.

    참고 : MongoDB를 : 확실한 가이드

  3. ==============================

    3.$ 또는 운영자는 자신의 로그인을 정의 할 수 있지만 운영자에 $는 당신이 당신의 논리를 넣을 수 없습니다 비교할 수있는 비교 연산자 논리 연산자입니다.

    $ 또는 운영자는 자신의 로그인을 정의 할 수 있지만 운영자에 $는 당신이 당신의 논리를 넣을 수 없습니다 비교할 수있는 비교 연산자 논리 연산자입니다.

    $에서의 구문 :

    { field: { $in: [<value1>, <value2>, ... <valueN> ] } }
    

    예:

    db.account.find( { qty: { $in: [ 5, 15 ] } } )
    

    $ 또는 구문 :

    { $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
    

    예:

    db.account.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )
    

    참고 : 계정 컬렉션 이름입니다

  4. ==============================

    4.우물 그러나 내가 $로 포맷하는 것을 선호 또는, 당신이 $를 사용하는 경우에는 indecis이 보장되지하도록 보장한다 그것 (인덱스를 보장하므로 가독성은 내가 소비하는 것을 선호하는 응용 프로그램 논리에서 처리되고에서하지 우려 나를 것이다 오히려 MongoDB를 서버와 응용 프로그램의 메모리)

    우물 그러나 내가 $로 포맷하는 것을 선호 또는, 당신이 $를 사용하는 경우에는 indecis이 보장되지하도록 보장한다 그것 (인덱스를 보장하므로 가독성은 내가 소비하는 것을 선호하는 응용 프로그램 논리에서 처리되고에서하지 우려 나를 것이다 오히려 MongoDB를 서버와 응용 프로그램의 메모리)

  5. from https://stackoverflow.com/questions/14736656/optimized-way-of-querying-in-mongodb-using-in-vs-or by cc-by-sa and MIT license