MongoDB–;按对象数组中的ID数组查找所有文档

MongoDB–;按对象数组中的ID数组查找所有文档,mongodb,mongoose,Mongodb,Mongoose,我想在我的集合“组”中找到任何条目,其中数组“游戏”中对象的id位于id数组中 JS中的逻辑: for (const game in games) { return game.find(field => field.id.indexOf(arrayOfIds)); } 我对猫鼬逻辑的看法是: db.groups.find({ "games.id": { $in: ["5a945...", "1701fa..."] } }); 您应该使用$elemMatch匹配阵列 db.

我想在我的集合“组”中找到任何条目,其中数组“游戏”中对象的id位于id数组中

JS中的逻辑:

for (const game in games) {
  return game.find(field => field.id.indexOf(arrayOfIds));
}
我对猫鼬逻辑的看法是:

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

您应该使用
$elemMatch
匹配阵列

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

您能编辑您的问题并粘贴示例文档和预期输出吗?@mickl更新了它。现在理解是不是更好?那就行了!但只有当我从数组中的字符串中删除ObjectId符号时。。。