복붙노트

[MONGODB] 배열 필드는 고유 값 또는 MongoDB의 다른 배열이 포함 된 경우 확인하는 방법?

MONGODB

배열 필드는 고유 값 또는 MongoDB의 다른 배열이 포함 된 경우 확인하는 방법?

지금 MongoDB를 사용하고 있습니다.

나는 블로그 게시물의 컬렉션이, 그리고 블로그 게시물 배열, 예를있는 태그 파일이

blogpost1.tags = ['tag1', 'tag2', 'tag3', 'tag4', 'tag5']
blogpost2.tags = ['tag2', 'tag3']
blogpost3.tags = ['tag2', 'tag3', 'tag4', 'tag5']
blogpost4.tags = ['tag1', 'tag4', 'tag5']

나는이 검색을 수행 할 수있는 방법

해결법

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

    1.이 밖으로 시도 :

    이 밖으로 시도 :

    db.blogpost.find({ 'tags' : 'tag1'}); //1
    db.blogpost.find({ 'tags' : { $all : [ 'tag1', 'tag2' ] }}); //2
    db.blogpost.find({ 'tags' : { $in : [ 'tag3', 'tag4' ] }}); //3
    
  2. ==============================

    2.내 경험 (2) 다음과 같은 솔루션이 가진 것보다 훨씬 빠릅니다은 "모든 $"이다 :

    내 경험 (2) 다음과 같은 솔루션이 가진 것보다 훨씬 빠릅니다은 "모든 $"이다 :

    db.blogpost.find({ $and: [ {tags: 'tag1'} ,{tags: 'tag2'} ] });
    

    하지만 솔직히 말해서, 나는 왜 안하지 않습니다. 누군가가 알고 있다면 나는에 관심이있을 것입니다.

  3. from https://stackoverflow.com/questions/5366687/how-to-check-if-an-array-field-contains-a-unique-value-or-another-array-in-mongo by cc-by-sa and MIT license