You need to enable JavaScript to run this app. Mongoose使用$in传入逗号拼接数字字符串查询无结果如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Mongoose使用$in传入逗号拼接数字字符串查询无结果如何解决?

问题原因

  • 你的变量test是逗号拼接的字符串类型"6,11",直接放入$in的数组中实际生成的结构是["6,11"],数组内仅包含1个字符串元素,和你需要的数字数组[6,11]结构完全不符
  • 你的Mongoose Schema中number字段定义为Number类型,就算把字符串拆分为["6","11"],字符串类型和数字类型也无法匹配,因此查询无返回结果

解决方案

先将字符串拆分并转换为数字类型的数组,再传入$in中执行查询即可,示例代码如下:

var test = "6,11"
// 拆分字符串并转为数字数组
const numberList = test.split(',').map(item => parseInt(item.trim(), 10))
// 可选:过滤非法非数字值,避免异常查询
const validNumberList = numberList.filter(num => !isNaN(num))
// 执行查询
Player.find({number: { $in: validNumberList }}, (err, docs) => {
  // 后续业务逻辑
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 20:06:08