收藏
回答

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

比如

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

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

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

……

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

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

5 个回答

  • 陈宇明
    陈宇明
    02-22

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

    02-22
    有用 2
    回复
  • Charb
    Charb
    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()
    
    
    02-22
    有用 1
    回复 1
    • Charb
      Charb
      02-22
      有个最简单的方法,存name的时候直接把字符串长度也存起来
      02-22
      回复
  • Uker
    Uker
    03-14

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

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

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

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