You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mongoose查询嵌套数组对象中talla的S属性问题求助

如何获取Mongoose查询结果中talla的S属性值?

嗨,我懂你碰到的问题了——从返回结果能看到talla是一个数组,而非单个对象,这就是直接用trajeEncontrado.talla.s会返回undefined的核心原因!

先看你的查询返回结构:

[ {_id:5dd177918c7f021e4cab7e20, s: 15, m: 30, l: 25} ]

这个结果是包裹在数组里的单个对象,所以你需要先访问数组的第一个元素,再去获取s属性:

console.log(trajeEncontrado.talla[0].s); // 会输出15

如果担心某些场景下talla数组可能为空(避免出现Cannot read properties of undefined的报错),可以加个简单的判断逻辑:

if (trajeEncontrado.talla && trajeEncontrado.talla.length > 0) {
  const sSize = trajeEncontrado.talla[0].s;
  console.log(sSize);
} else {
  console.log("该泳衣没有对应的尺码库存数据");
}

顺便补充一句:你在Schema里把talla定义成了数组类型[{ s:{type:Number, required: true}, ... }],所以Mongoose会始终把它以数组形式返回,哪怕里面只有一条数据,以后处理这类字段时记得先考虑数组的访问方式哦~

内容的提问来源于stack exchange,提问作者Andrés

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:36:48