MongoDB - Найти все документы по массиву идентификаторов в массиве объектов - PullRequest
0 голосов
/ 07 мая 2018

Я хочу найти любые записи в моей коллекции 'groups', где идентификатор объекта в массиве 'games' находится в массиве идентификаторов.

doc example

Логика в JS:

for (const game in games) {
  return game.find(field => field.id.indexOf(arrayOfIds));
}

И моя идея логики для мангуста:

db.groups.find({ "games.id": { $in: ["5a945...", "1701fa..."] } });

1 Ответ

0 голосов
/ 08 мая 2018

вы должны использовать $elemMatch для соответствия массиву

    db.collection.find({
  "games": {
    $elemMatch: {
      id: {
        $in: ["5a945...", "1701fa..."]
      }
    }
  }
})

https://mongoplayground.net/p/cmphODhmGJg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...