어레이 필드에 고유한 값 또는 MongoDB 내의 다른 어레이가 포함되어 있는지 확인하는 방법
나는 지금 mongodb를 사용하고 있다.
블로그 포스트 컬렉션이 있는데tags
예를 들어 배열인 필드입니다.
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'} ] });
솔직히 왜 그런지는 모르겠어요아는 사람 있으면 관심 있을 것 같아요.
언급URL : https://stackoverflow.com/questions/5366687/how-to-check-if-an-array-field-contains-a-unique-value-or-another-array-in-mongo
'programing' 카테고리의 다른 글
mongodb에서 하위 개체를 쿼리하는 방법 (0) | 2023.04.04 |
---|---|
Ajax 호출 성공 후 Slik js 재초기화 (0) | 2023.04.04 |
es6 - 에일리어스 없이 명명된 모든 모듈을 Import합니다. (0) | 2023.04.04 |
워드프레스 범주에서 루프 (0) | 2023.04.04 |
archive.php 페이지에서 사용자 지정 카테고리 이름 또는 ID 가져오기 Wordpress (0) | 2023.03.25 |