How to check if an array field contains a unique value or another array in MongoDB?

后端 未结 2 697
夕颜
夕颜 2020-12-02 04:16

I am using mongodb now.

I have a blogpost collection, and it has a tags field which is an array, e.g.

blogpost1.tags = [\'tag1\', \'tag2\'         


        
相关标签:
2条回答
  • 2020-12-02 04:26

    Try this out:

    db.blogpost.find({ 'tags' : 'tag1'}); //1
    db.blogpost.find({ 'tags' : { $all : [ 'tag1', 'tag2' ] }}); //2
    db.blogpost.find({ 'tags' : { $in : [ 'tag3', 'tag4' ] }}); //3
    
    0 讨论(0)
  • 2020-12-02 04:46

    My experience is that for (2) the following solution is much faster than the one with "$all":

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

    but to be honest, I do not not why. I would be interested in, if anyone knows.

    0 讨论(0)
提交回复
热议问题