小联科技
小联科技
  • 发布:2022-11-18 16:54
  • 更新:2022-11-21 23:18
  • 阅读:92

【报Bug】jql复杂查询BUG

分类:uniCloud

产品分类: uniCloud/App

示例代码:

{
"_id": "5d7f021d631af0d6039c314e3c6dbaa2",
"before_risk_level": 0,
"parent_ids": [
"9890f4c66352a4d100103df127a5b83a",
"f7f8b9ee634e439800bdd7a7399f9d03",
"5a845e43634e431200c42a8d24c01e1d"
],
"risk_level": 50
}
上面是数据
db.collection("coname").where(risk_level!= before_risk_level).field('parent_ids,before_risk_level,risk_level,name').get()
上面这样可以正常查询
db.collection("coname").where(risk_level!= before_risk_level).field('parent_ids,before_risk_level,risk_level,name').get()
加上一个条件以后,上面的语法就不能正常查询了

操作步骤:

同代码示例

预期结果:

正常查询

实际结果:

查询为空

bug描述:

jql语法复杂查询条件,第一个条件是,字段大于另外一个字段的值,第二个条件是,在数组内,也就是dbcmd的in条件,两个条件分开,单独任何一个条件都可以正常查询,组合查询就无法查询到数据

2022-11-18 16:54 负责人:DCloud_uniCloud_CRL 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

查询语句发出来看下,如果同时查询数组可以按照以下方式查
.where("risk_level!= before_risk_level && 'xxx' in parent_ids")

  • 小联科技 (作者)

    加上数组的查询语法:

    db.collection("coname").where(risk_level!= before_risk_level && parent_ids == '5a845e43634e431200c42a8d24c01e1d').field('parent_ids,before_risk_level,risk_level,name').get()

    2022-11-19 17:40

  • 小联科技 (作者)

    这个查询方式也查不到

    db.collection("coname").where("risk_level != before_risk_level && parent_ids in ['5a845e43634e431200c42a8d24c01e1d']").field('parent_ids,before_risk_level,risk_level,name').get()

    2022-11-19 17:46

  • 小联科技 (作者)

    移除risk_level != before_risk_level 可以查询到

    2022-11-19 17:47

  • 小联科技 (作者)

    .where("risk_level!= before_risk_level && 'xxx' in parent_ids")这个查询条件可以查出,感谢

    2022-11-20 20:05

呆狗的一生

呆狗的一生 - 呆狗的一生

你把查询语句发出来,我们看看啊

呆狗的一生

呆狗的一生 - 呆狗的一生

你查询语句中的这一段代码不对

 parent_ids in ['5a845e43634e431200c42a8d24c01e1d']

没有这种写法,parent_ids字段是一个数组,怎么能用in去关连另一个数组呢?
你给出的下面这种写法才是正确的

.where("risk_level!= before_risk_level && 'xxx' in parent_ids")
  • 呆狗的一生

    应该改成 .where("risk_level!= before_risk_level && 'xxx' == parent_ids")

    2022-11-21 23:04

呆狗的一生

呆狗的一生 - 呆狗的一生

不知道你在哪里看到的这种错误写法,语法不能想当然,不能自己创造语法,一切以官方文档为准!

  • 小联科技 (作者)

    兄弟 请教下 哪里可以看到这个查询语法?

    2022-11-21 22:03

呆狗的一生

呆狗的一生 - 呆狗的一生

看查询语法,当然是去官方文档查看啊。你可以改成如下写法:

'5a845e43634e431200c42a8d24c01e1d' == parent_ids

截取自官方的示例代码,一起学习一下,明天再试试你的写法。

要回复问题请先登录注册