찾다

 >  Q&A  >  본문

mongodb数组查询

{
    'a': 1, 
    'b':2, 
    'c': 3, 
    'd': [
        {'e': 4, 'f': 5, 'g': 6}, 
        {'e': 0, 'f': '', 'g': 3},
        {'e': 1, 'f': '', 'g': 3},
    ]
}
{
    'a': 1, 
    'b':2, 
    'c': 3, 
    'd': [
        {'e': 4, 'f': '', 'g': 6}, 
        {'e': 0, 'f': '', 'g': 3},
        {'e': 1, 'f': '', 'g': 3},
    ]
} 

这样的记录,问题是怎么获取d数组中f都为空的文档(如上的结果是文档2)?谢谢

伊谢尔伦伊谢尔伦2797일 전535

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-24 09:13:43

    $where을 사용하여 이를 달성하는 방법만 알고 있고, 다른 방법은 아직 모릅니다.

    注意

    빈번한 쿼리인 경우 $where을 사용하지 않는 것이 좋습니다. 모든 문서를 순회하며 각 문서는 BSON에서 JavaScript 개체로 변환된 후 표현식을 통해 처리됩니다. 일반 쿼리보다 훨씬 느립니다. 절박한 경우에만 사용됩니다. 일반 쿼리를 사용하여 먼저 필터링한 다음 $where을 사용하면 성능 손실을 줄일 수 있습니다. 인덱스를 먼저 사용하여 필터링할 수 있는 경우 $where는 결과를 추가로 필터링하는 데에만 사용됩니다.
    ——————————————————————————————“Mongodb(E2)에 대한 권위 있는 가이드”에서 발췌

    코드:

    으아악

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-24 09:13:43

    으아악

    mongo 쉘에서 테스트:

    으아악

    회신하다
    0
  • 취소회신하다