javascript - 无法从对象数组中选择第一个对象
问题描述
我找不到在数组中选择 0 位置的对象的方法。基本上,我一直在寻找可以attributes.prices[0].UnitPrice
在任何地方完成这项工作的功能,但找不到答案。我的目标是按范围从...到使用UnitPrice
字段选择价格。产品包含价格数组:
prices: [
{
...,
UnitPrice: 5
},
...
]
尝试了以下查询,但它返回错误:
...
$and:
[
{ 'attributes.prices': { $in: { UnitPrice: { $gte: price.from } } } },
{ 'attributes.prices': { $in: { UnitPrice: { $lte: price.to } } } }
// { 'attributes.prices': { $elemMatch: { UnitPrice: { $gte: price.from } } } },
// { 'attributes.prices': { $elemMatch: { UnitPrice: { $lte: price.to } } } }
]
错误:未知运算符“0” - 应该是 $eq、$lte、$lt、$gt、$gte、$exists、$ne、$in、$nin、$size、$mod、$regex、$elemMatch 之一, $type, $allMatch 或 $all
解决方案
您可以简单地使用attributes.prices.0.UnitPrice
.
选择器示例:
{
"selector": {
"attributes.prices.0.UnitPrice": 1
}
}
推荐阅读
- c - C _Generic 默认返回参数
- go - 如何用golang打印?
- c++ - 初始化 C++2a 类非类型模板参数时是否可以省略类型名称?
- django - 如何解耦本地目录和 Heroku 项目
- amazon-web-services - 使用 AWS 存储服务(EBS 或 EFS 或 S3)作为卷或挂载与 Stanalone Docker 容器而不是 ECS 绑定?
- java - 如何将字符串更改为字符
- java - 想要访问具有父类 ID 的子属性
- excel - 如何在循环中向下移动单元格
- bash - 从 git tag --list 'v*' 获取最后一个标签
- node.js - 有没有办法在 NodeJS 文件流中读取和写入同一行?