db.collection('').where({key:value})中的value是否可为变量?

发布于 8 年前作者 xiongfang2123 次浏览最后编辑 8 年前来自 issues

    const db = wx.cloud.database();

    const _ = db.command;

    db.collection(‘xingfa’).where({

       _id: _.eq(mx)

    })

    .get({

      success: function(res) {

        console.log(res.data);

        this.setData({

          lawcomss: res.data

        })

      }

    })

mx为变量,

很奇怪,如果mx在之前已经赋予实际值,比如 mx=2,那可以取出记录为2的数据;可是如果通过 mx=idx (idx也是变量,且有值)赋值,却无法取出数据,idx也是等于2的。

求解答,怎么解决呢?

2 回复
yejie
yejie1 楼6 年前

好吧,发现了,还是类型的问题,改成_id: _.eq(Number(mx)) 就好了

mengjie
mengjie2 楼6 年前

可以是变量,不过你要看_id是什么类型

如_id是字符串类型,那就是_.eq(‘2’)

如_id是数字类型,那就是_.eq(2)