Mongodb Mongoose查找数组中的元素
我刚从猫鼬开始,发现元素有问题 我的模式包含一个Mongodb Mongoose查找数组中的元素,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,我刚从猫鼬开始,发现元素有问题 我的模式包含一个子区域的数组,我希望通过它的代码从中找到匹配的子区域。架构如下所示: var schema = { name: { type: String, required: true } ... subRegions: [{ name: { type: String,
子区域的数组
,我希望通过它的代码
从中找到匹配的子区域。架构如下所示:
var schema = {
name: {
type: String,
required: true
}
...
subRegions: [{
name: {
type: String,
required: true
},
code: {
type: String,
required: true
}
}]
...
};
我想出了
find({
subRegions: {
"$in": [{
code: regionCode
}]
}
}).exec(...)
但这是行不通的…您的术语是不正确的,因为该结构不是一个“多维”数组,因为这些结构具有“数组中的数组”,因此是“维度”。这只是数组中的“对象” 所以你这里的问题是一个基本的论点错误的例子。您不需要只搜索数组,而是需要将参数的“列表/数组”应用于字段 简而言之,只需查找字段,然后使用:
.find({“subRegions.code”:regionCode}).exec(…);
对于本质上的
$或条件,您只需要在$中查找子区域的备用值。code
,因此,当只有一个值需要匹配时,您不需要该值。谢谢。是的,就是这个。时间很晚了,我把事情搞混了,因为我最初在那个数组中有ObjectId(),谢谢!!你救了我一天