点击提交按钮时,如果云数据库中没有数据,则将当前输入框内容上传,如何解决?

实现一个输入框和一个提交按钮。点击提交按钮时,如果云数据库中没有数据,则将当前输入框内容上传。如果云数据库中有数据,则在界面中显示”不要重复输入“
这个怎么编写啊?微信开发者工具

提交按钮后,先检查云数据库中是否存在数据,例如,姓名唯一的话,按照姓名进行查找是否已经存在相同的姓名,如果没有查到数据,说明数据库中没有,然后再上传内容数据

我也在考试啊哈哈

// pages/test/test.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    desc: null,
    hidden: true,
  },
  onDescInput(e) {
    this.setData({
      desc: e.detail.value
    })
  },
  onUpload() {
    const db = wx.cloud.database()
    db.collection('todo').where({
        desc: this.data.desc
      })
      .get()
      .then(res => {
        console.log(res)
        if (res.data.length > 0) {
          this.setData({
            hidden: false
          })
        } else {
          db.collection('todo').add({
            data: {
              desc: this.data.desc
            }
          }).then(console.log).catch(console.log)
        }
      })
      .catch(console.log)
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
<!--pages/test/test.wxml-->
<view>
<input bindinput="onDescInput" value="{{desc}}" placeholder="请输入"/>
<button bindtap="onUpload">上传</button>
<view wx:if="{{!hidden}}">已存在</view>
</view>