반응형
배열 필드에 MongoDB의 고유 값 또는 다른 배열이 포함되어 있는지 확인하는 방법은 무엇입니까?
지금 mongodb를 사용하고 있습니다.
블로그 포스트 모음이 있고 블로그 포스트에 배열 인 태그가 있습니다. 예 :
blogpost1.tags = ['tag1', 'tag2', 'tag3', 'tag4', 'tag5']
blogpost2.tags = ['tag2', 'tag3']
blogpost3.tags = ['tag2', 'tag3', 'tag4', 'tag5']
blogpost4.tags = ['tag1', 'tag4', 'tag5']
이 검색을 어떻게 수행 할 수 있습니까
- 'tag1'포함
- [ 'tag1', 'tag2'] 포함
- [ 'tag3', 'tag4'] 중 하나를 포함
이것을 시도하십시오 :
db.blogpost.find({ 'tags' : 'tag1'}); //1
db.blogpost.find({ 'tags' : { $all : [ 'tag1', 'tag2' ] }}); //2
db.blogpost.find({ 'tags' : { $in : [ 'tag3', 'tag4' ] }}); //3
내 경험은 (2) 다음 솔루션이 "$ all"솔루션보다 훨씬 빠르다는 것입니다.
db.blogpost.find({ $and: [ {tags: 'tag1'} ,{tags: 'tag2'} ] });
그러나 솔직히 말해서, 나는 이유가 아닙니다. 누구나 알고 있다면 관심이 있습니다.
반응형
'Programming' 카테고리의 다른 글
React의 인라인 CSS 스타일 : hover를 구현하는 방법은 무엇입니까? (0) | 2020.06.19 |
---|---|
`1L`과`1`의 차이점은 무엇입니까? (0) | 2020.06.19 |
github 문제에 파일을 첨부하는 방법은 무엇입니까? (0) | 2020.06.19 |
Git에서 특정 사용자의 커밋을 찾는 방법은 무엇입니까? (0) | 2020.06.19 |
C # : 왜 어셈블리에 서명합니까? (0) | 2020.06.19 |