为已有的集合新增一个字段

今天在写音乐播放器,原本就只想着实现搜索和收藏功能模块,于是在构建JSON数据时就没添加歌手相应描述字段。

集合数据以及效果图如下

 

但是写完以上两个功能后,想多增一个推荐歌手模块,希望效果如下

那么问题来了,整个集合中的每条记录,都为没有对歌手的相关描述字段,此时呢我们就想到对集合中的每条记录新增该字段,我们没有办法只用update来完成该操作,那么此时我们可以先取出所有数据然后对每条记录进行操作,具体操作如下:

    const allsongs = app.globalData.db.collection('allsongs')
    allsongs.where({
      _openid: app.globalData._openid
    }).get({
      success(res) {
        // res.data 包含该记录的数据
        console.log(res.data)
        res.data.forEach(function(element,index){
          app.globalData.db.collection('allsongs').doc(element._id).update({
            // data 传入需要局部更新的数据
            data: {
              // 表示将 done 字段置为 true
              description: 'sss'
            },
            success(res) {
              console.log(res.data)
            }
          })
        })
        that.setData({
          allsongs: res.data
        })
      }
    })

得到的集合结果如下

 

posted @ 2018-12-17 18:45  Smile_ruo  阅读(408)  评论(0编辑  收藏  举报