MongoDB–;按对象数组中的ID数组查找所有文档
我想在我的集合“组”中找到任何条目,其中数组“游戏”中对象的id位于id数组中 JS中的逻辑: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.
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符号时。。。