Check value in array without $in

Let's say I have the following documents:

{
  title: 'Some title',
  items: [1,5,9,4]
}

{
  title: 'Some title',
  items: [5,7]
}

{
   title: 'Some title',
   items: [1,2]
}

I need to get a documents where items have 5. So I make the following query in mongoose:

Model.find({items: {$in: [5]}}, function (err, docs) {
   // docs.length == 2
});

And I'm getting it. But I've found that if I make the follows query then I get the same:

Model.find({items: 5}, function (err, docs){
   // docs.length == 2
});

Is is correct to use the second approach to find docs in my case?

Use $in when you want to find the docs where items contains any one of a set of values; if you want the docs where items contains a specific value, use a simple query object like {items: 5}.

So while, as you found, you can use $in to match against a single value, it's more naturally expressed as Model.find({items: 5}, ...);