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

如何在MongoDB中按指定数值比较条件筛选返回符合要求的文档

实现方案

对应查询条件

你需要根据用户选择的参数,使用对应MongoDB查询过滤规则:

  • 选条件1(value ≥ 1000):匹配规则为 { value: { $gte: 1000 } }
  • 选条件2(value ≤ 2000):匹配规则为 { value: { $lte: 2000 } }

完整查询语句(直接返回要求格式)

使用MongoDB聚合管道可以一步输出你要的嵌套结构,不需要额外二次处理数据:

选择条件1时的查询

db.你的集合名.aggregate([
  // 按条件过滤符合要求的文档
  { $match: { value: { $gte: 1000 } } },
  // 把所有符合要求的文档拼成data数组
  { $group: { _id: null, data: { $push: { value: "$value" } } } },
  // 去掉默认返回的_id字段,只保留data
  { $project: { _id: 0, data: 1 } }
])

选择条件2时的查询

db.你的集合名.aggregate([
  { $match: { value: { $lte: 2000 } } },
  { $group: { _id: null, data: { $push: { value: "$value" } } } },
  { $project: { _id: 0, data: 1 } }
])

输出示例

以你给出的示例源数据为例,选择条件1时输出如下:

{
    "data": [
        {
            "value": 1000
        },
        {
            "value": 3000
        },
        {
            "value": 1500
        }
    ]
}

选择条件2时输出如下:

{
    "data": [
        {
            "value": 1000
        },
        {
            "value": 1500
        }
    ]
}

内容的提问来源于stack exchange,提问作者bc110402922

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:57:04