收藏
回答

云函数中where使用多重查询的问题,语句如何编写?

如我的数据库里有字段A,B,C,D,E 5个字段,我从本地上传2个参数,参数1是:cloud_serach;参数2是cloud_fenlei

想要实现的功能是,参数1 cloud_serach 与字段A,B,C,D中任一字段匹配就可以,相当于or,同时满足条件是:参数2 cloud_fenlei与E字段匹配,相当于and,

请问这个语句怎么写呢,我的如下写法,每次查询出来的都是数据库里所有的数据,

   const db = cloud.database()

   var _ = db.command

   console.log('event.serach,cloud_fenlei',event.cloud_serach,event.cloud_fenlei,)

  let count = await db.collection('abc')

  .where(

   _.or([

    {        A: _.event.cloud_serach,

    },

    {         B: _.event.cloud_serach,

    },

    {            C: _.event.cloud_serach,

     },

    {             D: _.event.cloud_serach,   

    },

    _.and([

      {   E: event.cloud_fenlei,

    }, 

      ])

  ])


  )

  .count()

     count = count.total

     console.log('count',count)

  let all = []

  let list=[]

  for (let i = 0; i < count; i += 100{ //自己设置每次获取数据的量

   list = await db.collection('abc').skip(i).get()

    all = all.concat(list.data);

  }

  return all;



回答关注问题邀请回答
收藏

4 个回答

  • 卡不拉几
    卡不拉几
    2022-07-26

    楼主,我也遇到过这样的问题,你把where中的查询语句改了一下就好了

    where(

      _.and([

      _.or([

        {       

     A: _.event.cloud_serach,

        },

        {         

    B: _.event.cloud_serach,

        },

        {            

    C: _.event.cloud_serach,

         },

        {            

     D: _.event.cloud_serach,   

        },

     {  

     E: event.cloud_fenlei,

        }, 

    ])

       



    2022-07-26
    有用
    回复
  • 困难
    困难
    2022-01-17

    你照着文档例子拼起来试一试就知道了。

    例子数据

    查询结果

    2022-01-17
    有用
    回复
  • wdcheng
    wdcheng
    2022-01-16

      let count = await db.collection('abc')

      .where(

       _.or([

        {        A: _.event.cloud_serach,

        },

        {         B: _.event.cloud_serach,

        },

        {            C: _.event.cloud_serach,

         },

        {             D: _.event.cloud_serach,   

        },

        _.and([

          {   E: event.cloud_fenlei,

        }, 

          ])

    这种云函数的查询,写法对吗?

    参数1与ABCD中的任一个进行查找,同时参数2与E进行查找

    2022-01-16
    有用
    回复
  • 努尔比耶。__👪🌻
    努尔比耶。__👪🌻
    发表于移动端
    2022-01-15
    说什么呢你们
    2022-01-15
    有用
    回复
登录 后发表内容