Home > Back-end >  How to find all documents in a collection Mongodb by two values of the same key?
How to find all documents in a collection Mongodb by two values of the same key?

Time:08-31

Tried to find the answer on the net, but somehow did not work. I have a collection from which I get a dataframe. I need to filter, that is, get all documents in which the key value will match a certain list of values.

Example collection:

_id: '1'
key_1: 'a'
key_2 : 'b'

_id: '2'
key_1: 'a'
key_2 : 'c'

_id: '3'
key_1: 'd'
key_2 : 'e'

_id: '4'
key_1: 'c'
key_2 : 'f'

Based on this small example, I'm trying to display all documents where there will be values in key_1 = a and d. That is, get documents with _id 1, 2 and 3 at the output.

I use pomongo as well as compass, tried the following attempts but it was not successful:

db.collection.find({'key_1': ['a', 'd']})
db.collection.find({'key_1': 'a', 'key_1': 'd'})

Tell me how can this be done?

CodePudding user response:

Use $in operator:

db.collection.find( { key_1: { $in: [ 'a', 'd' ] } })
  • Related