收藏
回答

小程序云数据库中,如何查询出“字段的值的长度为某个数字”的所有数据?

比如

{"name":"啦啦啦啦啦","value":1},

{"name":"好好好","value":2},

{"name":"不不不不不不不不","value":3},

……

我想查询出name字段的值长度为3的所有记录

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

5 个回答

  • 陈宇明
    陈宇明
    2021-02-22

    保存的时候存一下长度就行了啊,你动态计算会影响速度的。

    2021-02-22
    有用 2
    回复
  • Charb
    Charb
    2021-02-22
     db
          .collection('集合')
          .aggregate()
          .project({
            _id: 0,
            tempStr1: $.substrCP(['$name'23]),
            tempStr2: $.substrCP(['$name'34])
          })
          .match(
            {
              tempStr1: command.neq(""),
              tempStr2: command.or(command.eq(""), command.exists(false))
    
    
            }
          )
          .end()
    
    
    2021-02-22
    有用 1
    回复 2
    • Charb
      Charb
      2021-02-22
      有个最简单的方法,存name的时候直接把字符串长度也存起来
      2021-02-22
      回复
    • (๑・ . ・๑)
      (๑・ . ・๑)
      2022-04-15
      你好。如果想查询数据下,name,不为空,或者name,不是未定义的全部内容怎么查询呢?
      2022-04-15
      回复
  • Uker
    Uker
    2021-03-14

    这个需求会用到什么功能?

    2021-03-14
    有用
    回复
  • 2021-02-25
    利用正则,还可以指定长度的范围,棒棒的!!!
    db.collection('users')
    .where({
      name: /^.{3}$/
    })
    .get()
    
    2021-02-25
    有用
    回复
  • 跨商通
    跨商通
    2021-02-22

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/aggregate/AggregateCommand.strLenCP.html

    2021-02-22
    有用
    回复
登录 后发表内容
问题标签