mongdb传参怎么传区间参数

等值参数是可以实现的不报错。

${if(len(start_socre)==0,"","score:'"+start_socre+"'")}

参数区间就会报错

${if(len(start_socre)==0,"","socre:{'$gt':'"+start_socre+"'}")}

image.png

FineReport lgyxta 发布于 2021-1-21 13:17 (编辑于 2021-1-21 13:56)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
lgyxtaLv5初级互助
发布于2021-1-21 14:52

解决办法:

{${if(len(start_score)!=0,"score:"+start_score+"","")}}

image.png

最佳回答
0
shirokoLv6资深互助
发布于2021-1-21 13:20(编辑于 2021-1-21 14:42)

没看懂你下面写的什么。。为什么没有了$。。

然后sql内部为啥有$

---

{}会触发fr公式照成error。

改成这样吧。

${if(len(start_socre)==0,"","socre:"+char(123)+"'$gt':'"+start_socre+"'"+char(125))}

---

试试这几个(我这没有mongdb数据库可以测-。-)

${if(len(start_socre)==0,"","{socre:{'$gt':'"+start_socre+"'}}")}
${if(len(start_socre)==0,"","{socre:{$gt:'"+start_socre+"'}}")}
${if(len(start_socre)==0,"",char(123)+"socre:"+char(123)+"'$gt':'"+start_socre+"'"+char(125)+char(125))}
${if(len(start_socre)==0,"",char(123)+"socre:"+char(123)+"$gt:'"+start_socre+"'"+char(125)+char(125))}


  • lgyxta lgyxta(提问者) 这是mongdb数据库的 比较大小要加$gt的
    2021-01-21 13:21 
  • shiroko shiroko 回复 lgyxta(提问者) 试一下
    2021-01-21 13:36 
  • shiroko shiroko 回复 lgyxta(提问者) -o-行不行拜托给个信
    2021-01-21 13:51 
  • lgyxta lgyxta(提问者) 回复 shiroko 还是 不行 现在 变成上面那个样子了
    2021-01-21 13:52 
  • shiroko shiroko 回复 lgyxta(提问者) 哦你第二格score拼错了,我复制过来也错了,改一下就行
    2021-01-21 13:53 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-1-21 13:23

因为${}这个在帆软也是关键字,所以解析的时候报错了,估计这个写法,帆软sql数据集中没法使用

  • lgyxta lgyxta(提问者) {\"score\":{$gt:10}} 这样写是可以的 可是我要交互传参的
    2021-01-21 13:28 
  • snrtuemc snrtuemc 回复 lgyxta(提问者) 那直接下面这样,里面不要单引号,$gt,不加单引号试试--- ${if(len(start_socre)==0,\"\",\"socre:{$gt:\'\"+start_socre+\"\'}\")}
    2021-01-21 13:31 
最佳回答
0
zsh331Lv8专家互助
发布于2021-1-21 13:24(编辑于 2021-1-21 13:56)
{ $gt: start_socre, $lt: end_socre }

————

-- 二个参数

-- {'score' : {'$gt' : 10, '$lt' : 20}}

————————————————————

${if(len(start_socre)==0,"","{'score' : {'$gt' : "+10+", '$lt' : "+20+"}}")}

————————————————————


  • lgyxta lgyxta(提问者) 什么意思 ,要怎么写呢
    2021-01-21 13:25 
  • lgyxta lgyxta(提问者) 我要交互传参的
    2021-01-21 13:26 
  • zsh331 zsh331 回复 lgyxta(提问者) 先不加判断,把语法整明白了,后面再补判断逻辑;
    2021-01-21 13:27 
  • lgyxta lgyxta(提问者) 回复 zsh331 不加判断是可以的 {\"score\":{$gt:10}} 这样 都是可行的 ,普通等值也是 可以的 两者组合就不行了
    2021-01-21 13:29 
  • zsh331 zsh331 回复 lgyxta(提问者) 用上面更新的红色的写法,不行?
    2021-01-21 13:36 
  • 3关注人数
  • 440浏览人数
  • 最后回答于:2021-1-21 14:52
    请选择关闭问题的原因
    确定 取消
    返回顶部