收藏
回答

云函数的数据库查询中undefined包容万物?

        const result = await db.collection(dbname)
    .aggregate()
    .match({
      _coachid: event.coachid,
    })
    .sort({
      _time: 1,
    })
      .end()
  


使用上面的语句查询数据库时,如果event.coachid是undefined,则相当于没有这个限制,会返回所有数据,不知道各位觉得这样合理么,我认为应该返回空结果。

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

1 个回答

  • 烧饼
    烧饼
    2021-07-06

    我觉得从逻辑上你的想法是对的,但是现在JSON已经是常用的传输格式了,而JSON里面其实并没有undefined这个语法,你自己也可以JSON.stringify({test:undefined})试试,这个结果应该是"{}",在这里,服务器收到的包也是{}空对象,就认为你是match所有了。

    如果真要细说,官方的SDK应该也是做了类似的处理,但我们开发者也是可以规避的,使用 event.coachid || null (null的值需结合实际业务取适当的默认值),或者前端发出请求前先判断数据是否为undefined。

    2021-07-06
    有用
    回复
登录 后发表内容