首页 > 编程语言 >小程序云开发模糊查询实现

小程序云开发模糊查询实现

时间:2022-11-15 22:44:45浏览次数:39  
标签:openid matchData lock 模糊 程序 查询 data event cloud

const cloud = require('wx-server-sdk');

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
});
const db = cloud.database();
const _ = db.command;
const $ = db.command.aggregate;


/**
 * 获取我的发布记录
 * @param {*} event 
 * @param {*} context 
 */
exports.main = async (event, context) => {
  let pageIndex = Number(event.page_index) - 1;
  let pageSize = Number(event.page_size);
  let matchData = {
    is_delete: '0'
  };

  if (event.is_lock) {
    if (event.is_lock === '0') {
      matchData.is_lock = _.neq('1')
    }
    // matchData.is_lock = event.is_lock;
  }

  if (event.is_hide_publish && event.is_hide_publish === '1') {
    matchData._openid = _.neq(event.openid);
  }

  let keyWord = event.keyword ? (event.keyword + '').trim() : '';

  if (keyWord) {
    matchData.comment = {
      $regex: '.*' + keyWord,
      $options: 'i'
    };
  }

  // matchData['follow_user._openid'] = event.openid;
  // 返回数据库聚合结果
  return db.collection('book_ring')
    .aggregate()
    .lookup({
      from: 'user_info',
      localField: '_openid',
      foreignField: '_openid',
      as: 'user_data'
    }).lookup({
      from: 'follow_user',
      localField: '_openid',
      foreignField: 'follow_openid',
      as: 'follow_data'
    })

    .lookup({
      from: 'book_ring_like_record',
      localField: '_id',
      foreignField: 'book_ring_id',
      as: 'like_record'
    })
    .match(matchData)
    .sort({
      'sort_data': -1
    })
    .skip(pageIndex * pageSize).limit(pageSize)
    .end()

};

  

关键代码:

 matchData.comment = {
      $regex: '.*' + keyWord,
      $options: 'i'
    };

 调用

    wx.cloud.callFunction({
      name: 'quickstartFunctions',
      config: {

      },
      data: {
        type: 'getReleaseRecord',
        page_index: pageIndex,
        page_size: pageSize,
        openid: openid,
        is_lock: '0',
        is_hide_publish: '0',
        keyword: _this.data.keyword
      }
    })

  

标签:openid,matchData,lock,模糊,程序,查询,data,event,cloud
From: https://www.cnblogs.com/WQ1992/p/16894308.html

相关文章