这是我的猫鼬模式:
const userSchema = new mongoose.Schema({
name: String,
email: String,
images: [
{
fileName: String,
location: String,
fileExtension: String
}
],
documents: [
{
fileName: String,
location: String,
fileExtension: String
}
]
})
这里,为了查询子文档,我们将使用如下:
const doc = await Users.findOne({'images._id' : '60d57c5435934431b8a27hf'})
//or
const doc = await Users.findOne({'documents._id' : '60d57c5435934431b8a27hf'})
是否有任何方法可以通过 Id 全局搜索所有子文档数组(即图像和文档)而无需明确提及要查找的子文档数组?
答案 0 :(得分:1)
您可以使用 MongoDB 中的 $or
运算符:
const doc = await Users.findOne({
$or: [
{ 'images._id': docID },
{ 'documents._id': docID }
]
});