收藏
回答

云开发如何根据条件选择是否where?

比如传入了几个可选参数,当参数存在时再进行相关的where查询,不存在就跳过,试验过以下方法是无效的:

const collection=db.collection('collection')
var test=collection.where(条件一)
if(条件二符合){
     test.where(条件二)
}
...
if(条件N符合){
    test.where(条件N)
}
test.get({
     success:(res)=>{
          console.log(res)
     }
})

运行结果是,尽管后续根据更多的条件进行了查询,最终也只有条件一生效了。

那么有什么其他办法吗

谢谢

最后一次编辑于  11-13
回答关注问题邀请回答
收藏

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    11-13

    学会变通

    var wh = {field:'aaa'} // 默认条件,没有默认即为空 {} 即可

    if(xx) wh.field1 = xxxx

    if(xx) wh.field2 = xxxx

    ....

    JSON.stringif(wh) != '{}' ? db.collection().where(wh).get() : void 0

    11-13
    赞同
    回复 1
    • DISGUISER_
      DISGUISER_
      11-13
      谢啦
      11-13
      回复
问题标签