收藏
回答

wx.cloud.database 已经是参数化查询了吗?我试着用$gt:0之类的注入不成功

wx.cloud.database 已经是参数化查询了吗?我试着用$gt:0之类的注入不成功

const db = wx.cloud.database();

          console.log(this.data.JINGQUEag)

          db.collection('COA').where({

            科目:this.data.JINGQUEag,

            })


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

1 个回答

  • 云开发小助手CloudBase
    云开发小助手CloudBase
    10-31

    在云开发的数据库查询中,确实使用了参数化查询来防止SQL注入等安全问题。这意味着您不能直接在查询中使用 $gt:0 这样的语法来进行注入操作。

    在云开发中,您应该使用预定义的查询操作符,例如 $gt(大于)、$lt(小于)等,但这些操作符必须正确地嵌入到查询对象中。例如:

    const result = await db.collection('yourCollection').where({
      yourField: db.command.gt(0)
    }).get();
    


    在上面的代码中,db.command.gt(0) 是正确的方式来表示大于0的条件,而不是直接写成 $gt:0

    如果您尝试使用 $gt:0 这样的语法并且没有成功,那是因为这种语法是不正确的。请确保您按照云开发的文档来构建查询条件。


    10-31
    有用
    回复
登录 后发表内容